Real-time precipitation forecasting system

ABSTRACT

A computerized method of processing data for use in weather modeling is provided. The method includes receiving, from a first data source, by a first server, microwave link data including signal attenuation information. The method also includes pre-processing, in real time, by the first server, the microwave link data, thereby producing pre-processed microwave link data. The method also includes storing the pre-processed microwave link data in a first data store. The method also includes receiving, from the first data store, by a second server, the pre-processed microwave link data. The method also includes processing, on a scheduled routine, by the second server, the pre-processed microwave link data using a data transform, thereby producing first weather data.

1 CROSS REFERENCE TO RELATED U.S. PATENT APPLICATIONS

The present application claims the benefit of application Ser. No.15/632,025 filed on Jun. 23, 2017, now U.S. patent Ser. No. ______, andPCT/US17/39039 filed Jun. 23, 2017, which claim priority fromprovisional U.S. Patent Application No. 62/354,320 (Docket No.CLI-001PR) filed Jun. 24, 2016 and provisional U.S. Patent ApplicationNo. 62/479,025 (Docket No. CLI-002PR) filed Mar. 30, 2017, all of whichare incorporated herein by reference in their entirety and for allpurposes.

2 COPYRIGHT NOTICE

A portion of the disclosure of this patent document may contain materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever. The following notice shall apply to this document:Copyright © 2017, ClimaCell, Inc.

3 BACKGROUND 3.1 Field

The exemplary, illustrative, technology herein relates to systems,software, and methods for the determination of current weather phenomenaand the generation of accurate weather and precipitation forecasts usingautomated means of collecting and processing signal attenuationinformation in accordance with the descriptions provided herein. Thetechnology herein has applications in the areas of signal processing,radio network operations, and precipitation forecasting.

3.2 The Related Art

Radio signal propagation, and in particular, radio signal attenuation,has been associated with weather phenomena for many years. In pastdecades, attempts have been made to correlate weather and signalattenuation and, more recently, to predict future weather based uponthis information. The approaches to date have encountered obstacles.

U.S. patent application Ser. No. 11/995,335 describes an attempt tocalculate instantaneous rainfall rates from point-to-point microwavelink network attenuation data. There are a number of constraints andlimitations that prevented these techniques from effectively being usedin real-time (or near real-time) production systems. The algorithms usedin these attempts were too computationally intensive to complete thecalculations in a timely manner. Specifically, all of these calculationswere made after the events, diminishing any predictive value of thecalculations.

It is well understood that precipitation, and in particular, heavyprecipitation, severely attenuates microwave signals at frequenciesabove 5 GHz as illustrated in FIG. 1. Radars, terrestrial microwavelinks, and satellite uplink/downlink signals typically operate in thisfrequency range and are affected by this attenuation. Signal path lengthalso affects signal attenuation. Besides the attenuation inherent in thesignal path due to path length, a longer signal path is affected more byprecipitation and other weather phenomena along the path.

Known weather information display systems include websites and weatherapplications such as those provided by AccuWeather, the Weather Channel,or wunderground.com. These systems display precipitation forecastsderived from National Oceanic and Atmospheric Administration (NOAA)weather radar measurements and numerical weather prediction (NWP)models. The displayed information is typically based on cloud-level andother higher level atmospheric measurements, sometimes combined with orsupplemented by rain gauge data, which has limited availability andlimited temporal and spatial resolution. Furthermore, the precipitationdata in these systems is typically of low spatial resolution. Forexample, NWP information is typically provided for 1 km×1 km grids,which is interpolated for display to end users. Additionally, thetemporal accuracy of this information is low, with updates occurringapproximately every 20 minutes. These limitations of input data resultin low fidelity commercial forecasts that have low accuracy.

FIG. 2 illustrates a typical prior art Terrestrial Wireless Networkbased upon Long Term Evolution (LTE) networking standards included in3rd Generation Partnership Project (3GPP) Release 8 and subsequent 3GPPreleases. A typical 5 GHz terrestrial wireless network (200) includes aplurality of antenna masts (210 a, 210 b, 210 c) each of which has atleast one antenna connected to one or more E-UTRAN node B (eNB) nodes.An antenna mast is any structure to which an antenna is mounted,typically a cell phone tower, water tower, or tall building. An eNB maybe connected to a plurality of antennas on a single antenna mast, or maybe connected to one or more antennas on a plurality of antenna masts.eNB nodes include cellular phone system transceivers that performfunctions for radio bearer control, radio admission control, connectionmobility control, dynamic allocation of resources, and collection oflink measurement data for signal strength, attenuation, link status, anddevice location/mobility.

Point-to-point microwave links (220 a-b, 220 b-a, 220 a-c, 220 b-c) aregeographically stationary, and include dedicated point-to-pointmicrowave transceivers forming microwave links in the 5 Ghz to 80 GHzfrequency range. Static microwave links include eNB to eNB cellularfrequency links (e.g. 240 b-c). Dynamic microwave links include thosecellular microwave links (240 a-240 h, 255 a, 255 b) between eNBs andUEs where one or both link endpoints are changing location on at least aperiodic basis. eNB and point-to-point microwave link transceivers areoptionally in communication using either point-to-point microwave linksor dedicated data lines (282 a, 282 b, 282 c) with one or more networkmanagement systems (NMS) (280) that monitor and collect link measurementand signal information. Wireless network (200) further comprisescellular microwave links (240 a-240 h) between one or more eNBs andhandsets (230 a-230 i), and cellular microwave links (255 a, 255 b)between small-cell/base stations (250), customer premises equipment(CPE) router (260), and an eNB (210 c). Handsets (230 a-230 i), CPERouter (260), and small-cell/base station (250) are collectivelyreferred to herein as “user equipment” (UE). An eNB can often determinethe general location of a particular connected UE (e.g. UE that has alink to the eNB) based upon the antenna that the wireless signal isreceived upon and the propagation time of the signal. Dynamic microwavelinks attributes such as frequency, link length, and the resulting dryair attenuation can change with time, for example, link lengths thatchange as UEs move closer to or further from a serving eNB andtransition from a first serving eNB to a second serving eNB, or thatchange the frequency that is used for the link.

Point-to-point microwave link frequencies can include licensed spectrumsuch as 6-42 GHz and 80 GHz or unlicensed or lightly licensed spectrumincluding sub 6 GHz and 60 GHz. Example point-to-point link frequenciesinclude: 6-8 GHz (for example, in rural implementations with linklengths up to 25 miles) and 23 GHz in urban locations with link lengthsof less than 5 miles.

Typical baseline or dry air attenuation experienced for point-to-pointmicrowave link signaling can be approximately 10 dB for link lengths ofapproximately 3-10 miles and 1-2 dB for link lengths of approximately 1mile.

Terrestrial Wireless Network operators record and store, in their NMS(280), link measurement data that can be used to characterize and trackmicrowave link quality. Link measurement data may be recorded onwhatever time interval is desired by the Terrestrial Wireless Networkoperator, although to reduce bandwidth usage of maintenance messages andto save storage space, various measurement intervals are used. Measuredparameters include Transmitted Signal Level (TSL) and Received SignalLevel (RSL). Terrestrial Wireless Network operators and microwave linkequipment manufacturers use various approaches for sampling and storingmicrowave signal characteristics. Typically, Terrestrial WirelessNetwork operators will store TSL and RSL data. Sometimes, only limitedsamples of the TSL and RSL are stored to decrease data storagerequirements. Sampling can include storing average values wherein thetechnology saves the average of the signal level over an operatorspecified time frame, typically 1, 5, or 15 minutes. Some TerrestrialWireless Network operators save only the minimum and the maximum valuesof the TSL and the RSL [e.g. min/max TSL, min/max RSL]. TerrestrialWireless Network operators can also perform instantaneous sampling oflink measurement data, saving one sample per sampling instance on aperiodic basis.

Quantization is a procedure used for constraining something from acontinuous set of values (such as the real numbers) to a relativelysmall discrete set (such as the integers). For example, quantization of0.1 will convert a number such as 54.612343 to 54.6 [rounding]. Commonquantization levels are 0.1, 0.3 and 1.0 dB.

Point-to-point microwave links are microwave links with known geographicendpoints (e.g. microwave link 220 a-c) with link characteristics thatare all known or that can be straightforwardly computed. For eachpoint-to-point microwave link, generally at least the followingmicrowave link infrastructure data parameters are known: linkidentifiers including path name, a first path endpoint (a), antennaname, a second path endpoint (b) antenna site name; endpoint (site a andsite b) antenna locations (including longitude and latitude), linklength, and microwave signal parameters including frequency used (inMHz), polarization (e.g. horizontal or vertical), and quantization level(dB).

User equipment (UE) devices comprise handsets (230 a-230 i), CPE Router(260), and small cell/base station (250), all of which are devices thatconnect to an eNB using dynamic or static microwave links. Handset UEs(230 a-230 i) represent any mobile device, workstation, tablet, laptopcomputer, personal digital assistant (PDA), cellular telephones, orother equipment capable of communicating with eNB antennas mounted onantenna masts (210 a, 210 b, 210 c). Small cell/Base station (250)represents a repeater device which relays a cellular microwave linksignal (255 a) to provide a boosted dynamic microwave signal (252). CPERouter (260) represents a router that connects with an eNB (via anantenna on an antenna mast (210 c)) over a cellular microwave link (255b) and provides internet access, via the cellular microwave link (255b), to a computing device (264) over Wi-Fi link (262).

Cellular microwave links (240 a-240 h and 255 a, 255 b) represent one ofLTE, cellular radiotelephone and data links such as 3rd GenerationPartnership Project (3GPP) 3G, or 4G cellular radio network links.Cellular microwave links configured according to LTE or 4G standards canuse channels with bandwidths of 1.4 MHz to 20 MHz in the 452-3800 MHzfrequency bands and in the unlicensed 5322-5925 MHz frequency bands.Proposed 5G dynamic microwave links can use frequencies greater than 5GHz, for example frequencies in the 15, 26, 28, 38, 60 and 72-73 GHzfrequency bands.

During network operation, each antenna mast (210 a, 210 b, 210 c)periodically transmits specific reference signals (RS) at a configuredconstant magnitude of transmitted power. Each eNB node can also transmitUE specific reference signals and reference signals associated withmulticast services. Each reference signal is transmitted in a powerboosted manner (6 dB more than surrounding data symbols) and includes anidentifier of the eNB node that transmitted the RS. UEs (230 a-230 h,250, 260) are informed of reference signal transmit power and performperiodic link measurements of the RS received power (RSRP). This linkmeasurement data provides the basis for signal attenuation calculations.The eNB-UE signals also include timing information that permits both theUE and the eNB to determine the signal propagation time and thuscalculate the link length. Calculated link length for a UE and severaleNB nodes enables triangulation of the UE location if a location is notknown.

Link measurements of RSRP by multiple UEs are reported to eNB nodes andforwarded to the network management systems (280) for use in managingthe radio network. eNB nodes also measure RSRP of reference signals sentfrom UEs to eNB. RSRP measurements are especially useful for determininglink attenuation that may be associated with precipitation events.

Link measurement data can also be gathered directly from UE devices.These devices may collect and report signal measurement, includingreceived power measurements of reference signals, to an eNB and/or amanagement system, or a management system may connect with UE devices ona periodic, scheduled, or other basis to collect signal measurementdata. Terrestrial Wireless Network operators record and store linkmeasurement data, including RSRP and received signal strength indicator(RSSI) data, that can be used to characterize and track link signalquality. Similar to data collection of point-to-point microwave linksignal metrics, different Terrestrial Wireless Network operators andmicrowave link equipment manufacturers use different protocols forsampling and storing the RSRP and RSSI data and may use quantization forRSSI data to constrain data storage resources. For example, RSRP datameasurements may be encoded and reported as an integer representing arange of measurement values, e.g. 1 represents −140<=RSRP<−139, 2represents −139<=RSRP<−138, etc.

Link-related metadata and ancillary data available from TerrestrialWireless Network operators include eNB node information comprising site(antenna) name, antenna location including longitude and latitude, andantenna height. Information available for UE from Terrestrial WirelessNetwork operators also includes UE identification, UE location from GPScoordinates or using triangulation information from multiple towers,signal transmit strength, signal frequency, modulation scheme, andbandwidth.

Attenuation of cellular microwave links (240 a-240 h) due toprecipitation can be relatively small (e.g. less than 10 dB) such thatperturbations in attenuation due to precipitation or other atmosphericconditions of interest can be difficult to differentiate from random ornon-rain related variations based on individual link signalmeasurements.

Radio links to endpoints located in buildings, for example links 240 h,255 a, and 255 b, suffer from increased signal attenuation due tointerference caused by building materials and indoor endpoints (230 h,250, 260). Indoor signal attenuation can be determined usingexperimental measurements or an adjustment factor can be applied to pathloss models. In some cases, the magnitude of the signal attenuation maybe used to determine whether or not a UE is within a building structure.

5 Ghz Terrestrial Wireless Networks exhibit static or dynamic microwavelink characteristics for UE to eNB communications. Some UE (e.g. smallcell/base stations and repeaters) are typically installed in staticlocations and that exhibit microwave link characteristics that aregenerally static, although the frequency used and the eNB that they areconnected to may infrequently change. Static UE are often line poweredand may use higher power levels (and thus have longer link distances toan eNB). Handset UEs have dynamic location and link characteristics(e.g. link length, frequency used, distance-based attenuation), becausethe handsets are frequently moving, and often use lower power levels toconserve battery life

The constantly changing link topologies of cellular networks make theexisting static topology algorithms for characterizing and mappingprecipitation unworkable, particularly when real-time prediction of theprecipitation is needed. Existing calculation algorithms were modelledusing relatively infrequent measurements of link attenuation and relyupon fixed microwave link characteristics in order to map possibleprecipitation along the link path. Real time data collection andprediction requires much shorter measurement intervals and results indata volumes increasing many-fold.

In particular, many of the proposed academic algorithm processing timesexponentially scale with respect to the number of link inputs.Increasing the number of microwave links by incorporating the UE-basedlink measurement data means the processing time to calculate the linkeffects due to precipitation grows exponentially. Calculation schemesthat work in batch mode on statically defined sparse network links breakdown when there are orders of magnitude more network links and theresulting calculations must be completed quickly for the data to beuseful.

Furthermore, the mapping of microwave link attenuation to precipitationestimates depends upon communication links being well defined (e.g.static locations and frequencies), and the resulting area coverage ofthese links being well defined, in order to reduce the complexity of themodelling calculations. When many of these microwave links aredynamically changing with respect to location and even presence, andfurthermore when they may vary in frequency usage from minute to minute,the ability to statically map links to area coverage becomes muchharder.

Taken together, these challenges mean that existing systems fail from aninformation handling perspective in their ability to provide real-timeprediction of precipitation amounts.

The prior art approaches collectively demonstrate notable deficiencieswhen applied to current and planned microwave-based network topologies.First, they are hindcast model development techniques, which provide, bydefinition, a forecast after the event has happened. They are alsolimited with respect to the data sources used, as these data sourceshave built in inaccuracies due to limits in the underlying models, andare based upon unchanging configurations of networks and data sources.Accordingly, they are non-generalizable and are insufficient to supportreal-time analysis and prediction of weather-related phenomena. Newmethods of collecting and processing information are needed in order toproduce the desired real-time analysis and prediction capabilities.

4 SUMMARY

In one aspect, the technology herein features a computerized method ofprocessing data for use in weather modeling. The method includesreceiving, from a first data source, by a first server, microwave linkdata including signal attenuation information. The method also includespre-processing, in real time, by the first server, the microwave linkdata, thereby producing pre-processed microwave link data. The methodalso includes storing the pre-processed microwave link data in a firstdata store. The method also includes receiving, from the first datastore, by a second server, the pre-processed microwave link data. Themethod also includes processing, on a scheduled routine, by the secondserver, the pre-processed microwave link data using a data transform,thereby producing first weather data.

In some embodiments, the method includes storing the first weather datain a second data store. In some embodiments, the method includesreceiving, by a third server, the first weather data. In someembodiments, the method includes receiving, by the first server, from asecond data source, second weather data. In some embodiments, the methodincludes storing the second weather data in a third data store. In someembodiments, the method includes processing, by the third server, thefirst weather data and the second weather data, thereby producingblended weather data.

In some embodiments, the blended weather data includes at least aprecipitation intensity for a plurality of tiles, each tilecorresponding to a grid location. In some embodiments, the methodincludes storing the blended weather data in a fourth data store. Insome embodiments, the method includes receiving, by a fourth server, theblended weather data. In some embodiments, the method includesprocessing, by the fourth server, the blended weather data, therebyproducing processed blended weather data, the processed blended weatherdata usable by an on-demand information product.

In some embodiments, the method includes producing, by the third server,forecast data based on the blended weather data. In some embodiments,the microwave link data comprises terrestrial wireless network dataincluding wireless network topology information and wireless linkinformation. In some embodiments, the processed blended weather dataincludes map data usable to display a map on a viewing device. In someembodiments, the on-demand information product is a real-timeprecipitation map.

In some embodiments, the first data store and the second data store areincluded in a common database. In some embodiments, two or more of thefirst data store, the second data store, the third data store, and thefourth data store are included in a common database. In someembodiments, pre-processing of the microwave link data and processing ofthe pre-processed microwave link data include associating thepre-processed microwave link data with a cadence instance Mi of acadence cycle, the cadence cycle having a predetermined time delaybetween cadence instances. In some embodiments, processing of thepre-processed microwave link data occurs successively for multiplecadence instances of the cadence cycle. In some embodiments, thepredetermined time delay is less than five minutes. In some embodiments,the predetermined time delay is less than fifteen minutes.

In some embodiments, storing of the pre-processed microwave link dataoccurs successively for multiple cadence instances of the cadence cycle.In some embodiments, each cadence instance includes one or more tilelayers, each tile layer representing pre-processed microwave link data.In some embodiments, the method includes receiving, by a third server,first weather data. In some embodiments, the method includescalculating, by the third server, forecast weather data based upon thefirst weather data. In some embodiments, the method includes storing, bythe third server, the forecast weather data in a fourth data store. Insome embodiments, the method includes receiving, from the fourth datastore, the first forecast weather data. In some embodiments, the methodincludes producing, based on the first forecast weather data, secondforecast weather data. In some embodiments, the method includes storing,by the third server, in the fourth data store, the second forecastweather data.

In some embodiments, the method includes receiving, by a third server,blended weather data. In some embodiments, the method includescalculating, by the third server, forecast weather data based upon theblended weather data. In some embodiments, the method includes storing,by the third server, in a fourth data store, the forecast weather data.In some embodiments, the method includes receiving, from the fourth datastore, the first forecast weather data. In some embodiments, the methodincludes producing, based on the first forecast weather data, secondforecast weather data. In some embodiments, the method includes storing,by the third server, in the fourth data store, the second forecastweather data.

In another aspect, the technology herein features a system forprocessing data for use in weather modeling. The system includes a firstserver for receiving microwave link data and pre-processing themicrowave link data, thereby creating pre-processed microwave link data.The system also includes a second server for receiving the pre-processedmicrowave link data and processing the pre-processed microwave linkdata, thereby producing first weather data, the second server incommunication with the first server via a communications network. Thesystem also includes a first data store for storing the pre-processedmicrowave link data, the first data store in communication with thefirst server via the communications network.

In some embodiments, the system includes a second data store for storingthe first weather data, the second data store in communication with thesecond server via the communications network. In some embodiments, thesystem includes a third server for receiving first weather data andsecond weather data and processing the first and second weather data toproduce blended weather data, the third server in communication with thefirst server and the second server via the communications network. Insome embodiments, the system includes a fourth server for receiving theblended weather data and producing processed blended weather data usableby an on-demand information product, the fourth server in communicationwith the first server, the second server and the third server via thecommunications network.

In another aspect, the technology herein features a method ofdetermining a local precipitation intensity based on cellular networkdata. The method includes obtaining, by a first server in communicationwith a cellular network, a first data set from the cellular network. Thedata set includes location, power, attenuation and frequency informationof a first wireless link operating at a frequency above 5 GHz between aneNB and a customer device. The method also includes calculating, by thefirst server in communication with the cellular network, link parametersfor the first wireless link based on the first data set. The linkparameters include one of a length of the first wireless link and anendpoint of the first wireless link. The method also includes obtaining,by the first server, a second data set for at least one other wirelesslink. The second data set includes attenuation information for the atleast one other wireless link. The method also includes determining, bythe first server, if link parameters including link length and linkendpoints are missing for wireless links in the second data set, and iflink parameters are missing, calculating one or more missing linkparameters. The method also includes determining, by a second server incommunication with the cellular network, based on the first and seconddata sets, the local precipitation intensity.

In another aspect, the technology herein features a computerized methodof defining a data transform for processing pre-processed microwave linkdata. The method includes receiving, by a first server, microwave linkinfrastructure data. The method also includes error checking, by thefirst server, the microwave link infrastructure data, the first serverrejecting or correcting any erroneous portions of the microwave linkinfrastructure data, thereby producing cleaned microwave linkinfrastructure data. The method also includes storing the cleanedmicrowave link infrastructure data in a first data store incommunication with the first server. The method also includes receiving,from the first data store, by a second server in communication with thefirst data store, the cleaned microwave link infrastructure data. Themethod also includes processing, by the second server, the cleanedmicrowave link infrastructure data, thereby producing a microwave linkinfrastructure transform. The method also includes storing the microwavelink infrastructure transform in a second data store in communicationwith the second server.

In some embodiments, processing the cleaned microwave linkinfrastructure data further includes: creating, by the second server, alookup table for a set of microwave links of the microwave linkinfrastructure data, each microwave link in the table corresponding toone or more precipitation effect data points distributed on a grid andhaving grid coordinates; associating, by the second server, a percentageof a normalized attenuation for each microwave link to a correspondingprecipitation effect data point; and/or converting, by the secondserver, the precipitation effects data points from grid coordinates totile coordinates.

In some embodiments, processing the cleaned microwave linkinfrastructure data further includes: creating, by the second server, agrid of proforma microwave links surrounding one or more eNBs; creating,by the second server, a lookup table for a set of proforma microwavelinks of the microwave link infrastructure data, each proforma microwavelink in the table corresponding to a precipitation effect data pointdistributed on a grid and having grid coordinates; associating, by thesecond server, a percentage of a normalized attenuation for eachproforma microwave link with a corresponding precipitation effect datapoint; and/or converting, by the second server, each precipitationeffect data point from grid coordinates to tile coordinates.

5 BRIEF DESCRIPTION OF THE DRAWINGS

The features of the present technology will best be understood from adetailed description of the technology and example embodiments thereofselected for the purposes of illustration and shown in the accompanyingdrawings in which:

FIG. 1 illustrates microwave signal attenuation as a function offrequency and atmospheric moisture.

FIG. 2 illustrates an example 5G network topology and its microwavelinks.

FIG. 3 illustrates an exemplary cadence instance structure, according toan illustrative embodiment.

FIG. 4 illustrates cadence cycle processing timing, according to anillustrative embodiment.

FIG. 5 illustrates data organization of cadence instances after severalcadence cycles are processed, according to an illustrative embodiment.

FIG. 6 illustrates exemplary collection to M_(i) collection stack tilelayers information flow, according to an illustrative embodiment.

FIG. 7 depicts a process flowchart for an exemplary post-collectionforecast blending function, according to an illustrative embodiment.

FIG. 8 illustrates exemplary information flows during nowcastforecasting, according to an illustrative embodiment.

FIG. 9 depicts an exemplary systems diagram of a computing apparatussupporting aspects of the described system, according to an illustrativeembodiment.

FIG. 10 depicts an illustrative exemplary computer server that supportsthe described system, according to an illustrative embodiment.

FIG. 11 depicts an illustrative Information Collection and NormalizationServer of the described system, according to an illustrative embodiment.

FIG. 12 depicts an illustrative Offline/Background Processing Server ofthe described system, according to an illustrative embodiment.

FIG. 13 depicts an illustrative Modelling and Prediction Server of thedescribed system, according to an illustrative embodiment.

FIG. 14 depicts an illustrative Information Distribution and AlertingServer of the described system, according to an illustrative embodiment.

FIG. 15 provides an exemplary overview map display indicating userspecified locations of interest and detailed display bar for one of thelocations of interest, according to an illustrative embodiment.

FIG. 16 provides an exemplary illustration of the timeline component ofthe overview map display, according to an illustrative embodiment.

FIG. 17 provides an exemplary illustration of a “select a time range”function within the timeline component, according to an illustrativeembodiment.

FIG. 18: provides an illustrative depiction of a dashboard function ofthe Hypercast program, according to an illustrative embodiment.

FIGS. 19A and 19B depict a process flowchart for an exemplaryinformation flow through the system, according to an illustrativeembodiment.

FIG. 20 depicts a process flowchart for an exemplary method forreceiving, pre-processing, and storing data, according to anillustrative embodiment.

FIG. 21 depicts a process flowchart for an exemplary point-to-pointmicrowave network information collection process, according to anillustrative embodiment.

FIG. 22 depicts a process flowchart for an exemplary cellular radionetwork information collection process, according to an illustrativeembodiment.

FIG. 23 depicts a process flowchart for an exemplary weather radarinformation collection process, according to an illustrative embodiment.

FIG. 24 depicts a process flowchart for an exemplary weather satelliteinformation collection process, according to an illustrative embodiment.

FIG. 25 depicts a process flowchart for an exemplary map data collectionprocess, according to an illustrative embodiment.

FIG. 26 depicts a process flowchart for an exemplary rain gaugeinformation collection process, according to an illustrative embodiment.

FIG. 27 illustrates an exemplary 5 GHz terrestrial wireless radionetwork overlaying a precipitation intensity grid, according to anillustrative embodiment.

FIG. 28 depicts a process flow chart for an exemplary process fordetermining point-to-point and cellular microwave link-basedprecipitation intensity coverage and pre-calculating precipitationintensity link-to-grid transforms, according to an illustrativeembodiment.

FIG. 29 depicts a process flow chart for an exemplary process for destimating point-to-point and cellular microwave link-basedprecipitation intensity values using link measurement data andpre-calculated link-to-grid transforms, according to an illustrativeembodiment.

FIG. 30 depicts multiple proforma links extending from eNB to each ofmultiple grid points of a proforma link grid, according to anillustrative embodiment.

FIG. 31 depicts a process flowchart for an exemplary method for mappingdynamic cellular network links to pre-determined (static) proforma linkswith which pre-computed filters and transforms are associated, accordingto an illustrative embodiment.

FIG. 32 depicts a flowchart for an exemplary method for mapping cellulardynamic links to proforma links and generating precipitation intensityestimates based on dynamic link attenuation using pre-calculatedproforma link transforms, according to an illustrative embodiment.

FIG. 33 depicts mapping of dynamic links to specific grid points,according to an illustrative embodiment.

FIG. 34 depicts a process flowchart for an exemplary now-casting andforecasting process of the system, according to an illustrativeembodiment.

FIG. 35A illustrates a convective storm rise and decay precipitationintensity profile over time, according to an illustrative embodiment.

FIG. 35B illustrates a stratified storm rise and decay precipitationintensity profile over time, according to an illustrative embodiment.

FIG. 36 illustrates an exemplary diagram representing precipitationintensity tiles shifted with wind vector tiles, according to anillustrative embodiment.

6 DESCRIPTION OF SOME EMBODIMENTS 6.1 Overview

The systems and methods described herein provide a mechanism forcollecting information from a diverse suite of sensors and systems,calculating the current precipitation and other atmospheric-basedphenomena based upon these sensor readings, and predicting futureprecipitation and atmospheric-based phenomena. Unlike current systems,the described system and methods provide improved data collection andaugmentation, dynamically updated data sets, significant accuracyimprovements, and real-time projections.

“Real time” meteorology equipment, such as weather radar, providesprecipitation maps showing precipitation intensities and locations on ashort time interval, e.g., less than a fifteen minute interval, oroptionally less than a five minute interval, or optionally a one minuteinterval or thereabout. Weather radar signals attenuate when passingthrough precipitation, so the precipitation maps derived from weatherradar have known limitations as the signal is attenuated.

Diverse meteorological phenomena have diverse temporal evolution (e.g.,humidity changes much more slowly than does precipitation intensity).Accordingly the definition of “real time” or “most current data” maydepend on the meteorological phenomena being measured and reported.

The system described herein supports a dynamically defined network ofmicrowave links, including continually changing microwave link presence,link length, and microwave signal frequency characteristics, with hightemporal resolution of microwave link signal attenuation measurements,from a plurality of information sources that asynchronously provideupdated microwave signal attenuation measurements and other informationto the system.

The system implements a parallel processing pipeline that providespre-processing of microwave link attributes which support an order ofmagnitude reduction in the system compute requirements. Thepre-processing steps include the pre-processing steps of creatingtransforms and filters for the processing steps to convert microwavelink attenuation measurements into precipitation estimates, transformsfor the conversion of radar-based weather data into data structuresusable by the system, transforms and lookup tables that permit staticnetwork attenuation analysis to be performed upon dynamically changingnetwork topologies, and ongoing accuracy improvement analysis thatpermits the system to make effective blending selection decisions ofprecipitation intensity (and other weather data) that improve theaccuracy of resulting forecast data by between 30 and 70%. Pre-computedtransforms provide an efficient way to capture computing steps that areperformed repeatedly as a single computation, significantly reducing theamount of computation required. For example, by precomputing anattenuation transform for a point-to-point wireless network, we are ableto calculate the effect of a specific link attenuation value at a numberof different map points. By combining the complex set of calculationsinto a single transform, the received attenuation data for a link may bepassed through the transform once and precipitation values for eacheffected map coordinate obtained from the single calculation. This typeof processing, when combined with the processing architectures describedherein, enable the near real-time calculation of weather data.

The system also supports the ongoing asynchronous collection of inputdata, so forecast modeling cadence is separated from the collectioncycles, which permits the asynchronous updates of different types andsources of data. The system further implements a massively parallelcollection processing and forecasting component in order to produce aprecipitation forecast model in near real time for the system users.

The system architecture has four servers (e.g., including dataprocessing components), each described below, based in part upon itsfunction and the nature of the information being processed.

The first server (including a data processing component) is aninformation collection and normalization component that collects,error-corrects, normalizes, and stores information collected fromexternal sensors and data sources, and stores the collected informationinto one or more databases in order to make it available to the othercomponents of the system. The stored data is formatted in a manner thatallows more efficient further processing of the stored data andprovision of a more accurate precipitation model and precipitationforecast model.

The second server (including a data processing component) is anoffline/background processing component that performs non-time criticalprocessing of collected information and non-time critical updating oflow-temporal resolution calculations and modelling. The results of theseprocesses are written to one or more databases in order to make themavailable to other components of the system. The stored data isformatted in a manner that allows more efficient further processing ofthe stored data, and provision of a more accurate precipitation modeland precipitation forecast model.

The third server (including a data processing component) is a modellingand prediction component that performs parallel computations forpreparing a precipitation forecast that at least indicates aprecipitation type and a precipitation intensity at various locationsand is based at least on microwave attenuation data from a plurality ofmicrowave links and is preferably further based on other weatherphenomena, using other data types, such as current radar attenuationdata, wind characteristics, temperature, humidity, dew point, and otherconventional weather related information that has been collected,formatted and stored in the various databases as input. The modellingand prediction component, using the available pre-formatted data,produces calculated outputs that are written to databases for use bysubsequent iterations of modelling and prediction processing and forsubsequent use in one or more user products produced by the system.

The fourth server (including a data processing component), aninformation distribution and alerting component, uses the informationstored in the various databases to produce information products ondemand, including a map and/or report showing current precipitationintensity and other weather conditions over a geographic region, aforecast map showing expected precipitation intensities and otherweather conditions over the geographic region, wherein each map mayinclude expected total precipitation accumulation from a given weatherevent, or the like, as well as other products usable to alert users ofpotentially hazardous conditions, to track historic weather conditions,to predict further weather conditions and to provide customized weathermaps focused on user selectable parameters (e.g. for a particularbuilding or property, or the like).

The system as described provides significant improvements in thealgorithms and processing throughput, as well as providing improvementsin accuracy and timeliness of the forecasts and information provided.

These and other aspects and advantages will become apparent when theDescription below is read in conjunction with the accompanying Drawings.

6.2 Definitions

The following definitions are used throughout, unless specificallyindicated otherwise:

TERM DEFINITION Microwave Link A microwave link is a wireless signalconnection between two separate antennas, either point-to-point, static,or dynamic, operating in the microwave or millimeter frequency range.Microwave link, point-to-point A microwave link between two microwavetransceivers, with fixed link attributes. Microwave link, static Amicrowave link between a UE or eNB and a second eNB, characterized byboth endpoints having relatively static locations. Microwave link,dynamic A microwave link between a UE and an eNB antenna, characterizedby at least one endpoint location moving regularly. Microwave Radiosignals in the 1.8 GHz to 60 GHz frequency range. Millimeter wave Radiosignals used for communication above 60 GHz frequency range. Small cellSmall cells are fully featured, short range mobile phone basestationsused to complement mobile phone service from larger macrocell towers.Also known as femtocell, picocell, or metrocell cellular transceiver,Tomography A technique for constructing a three-dimensional imageatmospheric water vapor in a region created by analyzing the propagationof waves of energy, such as microwave transmissions, through the regionof the atmosphere. Parameters Weather data elements selected orconfigured by the user (either through the UI or the API (835)).Location of interest One or more geo-located points or polygons forwhich a user desires forecast data. Real-time Relating to a system inwhich input data is processed and made available as it is received,typically within seconds, so that it is available virtually immediatelyfor further use or computation.

6.3 Exemplary System Architecture

An illustrative, non-limiting, computing system that implements aspectsof the technology(ies) is structured with four general processingcomponents, based in part upon the nature of the information beingprocessed, and the manner in which the information is processed in orderto enable near real-time determination of the nature of weatherconditions of a geographic region and to forecast weather conditionsover the geographic region. As described above, the logical processingcomponents of the system comprise:

Information collection and data pre-processing,

Offline/background processing,

Modelling and prediction, and

Information distribution and alerting.

This functional breakdown is provided for illustrative purposes; otherfunctional breakdowns may be implemented using the techniques describedherein without deviating from the present invention.

We now turn to describing the system as a logical model of informationrepresentation and storage, and the general processing flow within thesystem in order to illustrate the functioning of the physical hardwaresystems. The logical model describes the information organization andhow the information is collected and forecast information is organizedto permit efficient processing, storage, and retrieval by the computerprocessors and computer systems described herein, and in particular theprocessing of the information in large parallel processing systems.

It should be noted that the physical processing and storage system havethe data being read and written directly to one or more systemdatabases, and organized within those databases so that the subsequentdata access steps are efficient.

6.3.1 Cadence Cycles and Cadence Instances as Logical Processing Flowand Data Models

The system described herein operates in two modes: a series of repeatingprocessing steps that collect, process, and generate forecast weatherdata called the cadence cycle, and a set of ad-hoc processing stepsrelated to monitoring the data created as result of these processes andfor making the created information available in a variety of forms. Thesystem can support more than one cadence cycle at a time, but only asingle cadence cycle is illustrated herein for clarity.

The data collection and processing for each cadence cycle iteration isrepresented by a data construct called a cadence instance. The cadenceinstance is represented by a cadence instance data structure stored in asystem database that serves as a “master control record” for cadencecycle processing. Data collected or generated during the processing ofthe cadence cycle is associated with at least one cadence instancestructure.

As the cadence cycle processing progresses and data is generated andstored to the system databases indexed by cadence instance and cadencecycle processing step, the information that is made available byreferencing the cadence instance increases. The data that is generatedand stored includes collected data, data derived from the collecteddata, forecast data generated during the forecast cycles of the cadenceinstance, and information that is further generated or derived from theforecast data. Collected data, generated data, and forecast data areorganized by their tile representation in a cadence instance tile layer.

The system manages a sequence of cadence instances, one for each cadencecycle that is performed by the system. For ease of understanding, werefer to a cadence instance by the abbreviation M_(i), where (i) is thecadence instance ID. The cadence instance ID can be a unique identifier,or simply a constantly increasing number such as a system clock count oreven a monotonically increasing value. Each cadence instance structurealso contains one or more timestamps which identifies (a) when thecadence instance was started, (b) when collection was completed, (c)when each processing step was performed, and (d) when each forecastcycle's processing was started/completed, and other information usefulfor tracking and managing the status of a cadence instance.

Data associated with a cadence instance is organized into tile layers.The tile layers organize data collected or created by a specific processas a series of “tiles”. Note that tile layers may be sparse structures,as not all tiles in a tile layer are populated with data. Tiles eachroughly correspond to map sections, but are not bound to a particularmap or scale. Typically, each tile layer has tiles of a consistent size.In some embodiments, however, a tile layer's tile sizes are identical.In other embodiments, the tile sizes of diverse tile layers may differ.The processes that access the data associated with a tile layer managethe translation of the tile layer to whatever geographic coordinates areneeded.

An example cadence instance logical structure is depicted in FIG. 3.Note that the tile stack includes a tile layer associated with eachcollection program and processing program in the system, as illustratedin FIG. 3 and detailed below in Table 3. This structure permits theextension of the system by adding additional processing programs andadding one or more additional tile layer(s) associated with each addedadditional processing program without changing the data organization ofcadence instances.

Each cadence instance comprises collection data, processed data, andforecast data.

Collection data is collected by one or more collection processes of theinformation collection and normalization server (310 of FIG. 9) that arein communication with at least one data source and that process thecollected data and then store the collected data into one or more datastores (e.g., one or more source specific databases). Collection data isrepresented as part of the cadence instance as a set of collection tilelayers, one tile layer per input data source. Each collected data isassociated with the collection-time current cadence instance (asindicated by the cadence index). Collection processes operateasynchronously and may be computationally complex, so a plurality ofcollection processes may be simultaneously operating and writing toindividual databases without interfering with each other. The ability toasynchronously collect and process input data from a plurality ofsources permits the parallelization of the collection process, greatlyreducing the effect of the collection processes on overall cadence cycletimes. In addition, because each collection process writes to anindividual data type specific database, inter-process contention fordatabase resources is avoided. These selections enable the processing oflarge amounts of data on an asynchronous basis, and enable part of theperformance improvements exhibited by the system when compared to itspredecessors. Collected data is associated with a particular cadenceinstance using a cadence index value (the (i) of M_(i)). The cadenceindex is an increasing number that is used to reference the current (orspecific) cadence instance.

Cadence-organized collected data may be pre-processed using one or morepreprocessing programs that may use predefined filters and datatransforms in order to speed pre-processing. These predefined filtersand data transforms automatically convert the collected data into aformat usable by the system (i.e. data values in tile form, either 2 dor 3 d), and store the data into a database associated with thecollection input. This stored data, organized by data type, cadence, andtile layer, comprise the Collection data stack, and may be referenced asa data type specific collected data tile layer of Mi as described above.

A cadence instance further comprises forecast data, represented as a setof tile layers (one tile layer for each forecast data type beingforecast) for each forecast cycle. Each of the forecast cycles comprisesa set of tile layers associated with a timestamp corresponding toincrements in the forecast time (e.g. tied to the time of each forecastcycle). Thus, forecast data set (and timestamp) F₀ is the time thatcollection completes for the cadence instance (e.g. the time that thecadence index is incremented), F₁ is current time+forecast interval, F₂is current time+2*forecast interval, etc.), repeating out to theforecast limit. Forecast limits are tunable for the system, typicalvalues are between 2-6 hours for short term, high resolution (NowCast)forecasts, and 1-10 days for long term, lower resolution forecasts.

A cadence instance further comprises processed data, which is data thathas been previously associated with a cadence instance and has beenfurther processed by one or more data processing programs of the system.Processed data may include additional refinements to collected data,derivation of additional information from collected or forecast data, ordata that is calculated by other systems and associated with one or morecadence instances.

Cadence instances tile layers may use references to previously defined(either forecast or collected) tile layers to substitute for slow-updatecollection processes and to speed processing by copying previouslyprocessed data that has not significantly changed. If collection data isnot available for a parameter at a location when M_(i) is populated withdata, collected data from older models, i.e. from the set bounded by M₀through M_((i−1)), corresponding to the location. Historical informationcan include Collection tile stack information retrieved from cadenceinstances that are older than model M_(i), or may include informationfrom historical models that correspond to the requested location andtime.

Each cadence instance progresses through a series of processing stages,which are partially controlled by timing parameters. Cadence cycletiming (both instance to instance, forecast cycle to forecast cycle, andinter-cadence cycle delay) may vary, based upon the length of timerequired to complete each stage of processing and the frequency ofsystem data collection activities. The system may also enforce aninterstitial delay between cadence cycles if desired. Cadence cycletiming may vary based upon weather or upon the results of one or moreprevious cadence cycle processing steps. For example, cadence cyclelength and collection interval length may be increased during clearweather and decreased during stormy weather.

Several parameters control the processing of the cadence cycle, asdescribed in the table below:

TABLE 1 Cadence Cycle Processing Control Parameters Timing controlparameter Description Cadence instance start Interval between cadenceinstance processing start times. interval Data collection time Definesthe amount of time a cadence cycle will collect data for interval priorto advancing to the collection post processing stage. Collectionpost-processing Defines the amount of time the cadence instancecollection post- start delay time processing stage delays starting thecollection post collection processing programs. Forecast cycle time Theamount of forecast time between forecast cycle iterations. incrementCadence instance forecast The amount of time that the forecast cyclepost processing stage post-processing delay delays starting the forecastcycle post processing programs. Cadence instance The amount of time thatthe cadence cycles delay between interstitial delay cadence instances.

In some embodiments, the cadence cycles execute asynchronously and thecadence instances are separated by the interstitial delay. In otherinstances, the cadence instances are performed synchronously, with eachcadence instance started at a particular clock interval from a previouscadence instance.

FIG. 4 illustrates an exemplary cadence cycle processing for severalcadence instances operating synchronously with a cadence instance startinterval of 10 minutes and a forecast cycle time increment of 15minutes. Cadence cycles may be classified as short or long. Shortcadence cycles capture near term weather information and support realtime and near real time weather forecasting. Long cadence cycles capturelonger term weather data and provide for forecasts and models thattypically are several days in duration. Typical short cadence cycleshave interstitial delays of 0, 5, 10, or 15 minutes, and interstitialdelays of 6 hours, 12 hours, 24 hours, or two days for longer cyclecadences. Similarly, short cadence cycle start intervals of 1, 5, or 15minutes, with data collection times of 1, 5, 10, or even 20 minutes. Insome cases, the cadence cycles are operated from a clock-based systemsuch a cron on a Unix-based computer, which causes a cadence cycle tostart at a specific time of day (e.g. 12 noon, 6 pm, 7 pm, 7:10 pm)

After several cadence cycles are completed, the cadence instance may berepresented as a grid of collected and forecast tile stacks asillustrated in FIG. 5. Since the collected and forecast data may berepresented as a grid, individual and sets of logically related dataelements can be identified as shown in the table below:

TABLE 2 General Processing Reference notation Description M_(i) Cadenceinstance M_(i) collected data The collected data associated with theM_(i) cadence instance. M_(i) collected data (tile A named tile layercorresponding to a specific input source layer name) collected as partof the M_(i) cadence instance. M_(i) collected data (tile A specifictile in a collected data named tile layer, identified by its layer name)tile [x, y] location in the tile layer. Note that indexing may be [x, y,z] for 3-D tile layers. M_(i) F_(j) A specific forecast cycle (j) of theM_(i) cadence instance M_(i) F_(j tile layer name) A named tile layercorresponding to the output of a post- processing or forecast cycleforecast execution. M_(i) F_(j tile layer name) tile [x, y] A specifictile in forecast cycle (j)'s named tile layer, identified by itslocation in the tile layer. Note that indexing may be [x, y, z] for 3-Dtile layers.

FIG. 6 illustrates several example data collection processing flows,with collected data from the respective data collection programs beingreceived, processed by a stored transform, and converted into tilerepresentations by storing it in a database in a manner that associatesit with a cadence instance M_(i)'s collection stack tile layers. Detailson these data collection and data processing steps are covered in latersections.

In FIG. 6, the first row represents the transformation of NumericalWeather Prediction (NWP) data to a tile layer. The received data isobtained from the NWP data source and is processed using a NWPprocessing program the uses a stored NWP data transform (T_(NWP)) toconvert the NWP data to a tile representation and then stores theconverted data in a database. The processing program associates thetransformed data with the cadence instance and a particular tile layer.

The second row of FIG. 6 represents the transformation ofsatellite-based cloud images by a satellite image processing programthat uses the stored satellite data transform (T_(SAT)) to convert thesatellite cloud image from it collected form to a tile representationand then stores the converted data in a database. The processing programassociates the transformed data with the cadence instance and aparticular tile layer.

The third row of FIG. 6 represents the transformation of RADAR dataimages by a RADAR data processing program. The RADAR data processingprogram looks in the transform storage for a radar data transform(T_(RADAR)) that will transform the radar data with specific parameters(for a specific radar site) to tile layer format. If no such transformis found, the program generates an appropriate transform and saves acopy in transform storage. The processing program then uses thetransform (either a pre-stored copy or a newly generated copy) totransform that RADAR data to tile layer format and then stores theconverted data in a database. The processing program associates thetransformed data with the cadence instance and a particular tile layer.

The result of these conversions is a set of stored data associated withcadence instance M_(i) collected data tile layer stacks. Similarprocessing approaches are provided for each data collection source inorder to produce tile layers for the other collected data.

The table below identifies that pre-, post- and forecast processingprograms and the tile layers that their output data are associated with.

TABLE 3 Processing Programs and Associated Output Data Tile Layers Postprocessing, estimate Collection Program/ generation, or forecasting Datatype Data Source Database program M_(i) layer reference name ParametersUnits Notes Point-to-point Microwave data Point-to-point Point-to-pointmicrowave link None TSL, RSL dB microwave link raw collection programmicrowave link attenuation data processing attenuation data (520) (510a,510b) attenuation program (610) database (321) Point-to-pointPoint-to-point micro- Point-to-point None None Attenuation dB microwavelink wave link attenuation microwave link processed attenuation database(321) attenuation data (620) database (321) Point-to-pointPoint-to-point micro- Point-to-point Point-to-point microwave linkCollection: Point-to-point a. Precipitation intensity a. mm/hr or in/hra. At ground  

microwave wave link attenuation microwave precipitation program (917)microwave precipitation tile b. Precipitation type b. Hail, sleet, rain,snow b. At ground  

precipitation database (321) precipitation layer c. Precipitationintensity accuracy c. %. c. accuracy of  

intensity database (327) d. Precipitation intensity spatial d. m. km,ft, miles precipitation  

resolution d. Function of  

Cellular network raw Microwave data Cellular network Cellular linkattenuation data None RSRP and RSSI dB attenuation data (524) collectionprogram link attenuation processing program (614) (510a, 510b) database(351) Cellular network Cellular network link Cellular network None NoneAttenuation dB processed attenuation attenuation database linkattenuation data (624) (351) database (351) Cellular network Cellularnetwork link Cellular network Cellular network microwave Collection:Cellular network a. Precipitation intensity a. mm/hr or in/hr a. Atground  

microwave attenuation database precipitation precipitation program (914)microwave precipitation tile b. Precipitation type b. Hail, sleet, rain,snow b. At ground  

precipitation (351) database (354) layer c. Precipitation intensityaccuracy c. %. c. accuracy of  

intensity (624) d. Precipitation intensity spatial d. m. km, ft, milesprecipitation  

resolution d. Function of  

Radar raw data (521) Radar data collection Radar database Radar dataprocessing None a. Atmospheric precipitation rate a. mm/hr or in/hr a.Calculated by  

program (512) (322) program (611) intensity b. rain, hail, sleet, snowb. Calculated by  

b. Atmospheric precipitation type c. ° C. or ° F. c. Calculated by  

c. Temperature d. % of saturation d. Calculated by  

d. Humidity e. km/hr. or miles/hour e. Calculated by  

e. Wind speed f. Compass direction f. Calculated by  

f. Wind direction g. mmHg, mPa g. Calculated by  

g. Atmospheric pressure h. Image h. Calculated by  

gh. Total cloud cover i. km or miles i. Calculated by  

i. Visibility j. dBZ j. Raw data j. Reflectivity (and other numericdata) Radar processed data Radar database (322) Radar database NoneCollection: Radar tile layer a. Atmospheric precipitation a. mm/hr orin/hr (621) (322) intensity b. rain, hail, sleet, snow b. Atmosphericprecipitation type c. ° C. or ° F. c. Temperature d. % of saturation d.Humidity e. km/hr. or miles/hour e. Wind speed f. Compass direction f.Wind direction g. mmHg, mPa g. Atmospheric pressure h. Image h. Totalcloud cover i. km or miles i. Visibility j. dBZ j. Reflectivity (andother numeric data) Ground weather station Ground weather data Groundweather Ground weather station data None a. Precipitation intensity a.mm/hr or in/hr From ground  

raw data (346) collection program station database processing program(612) b. Temperature b. ° C. or ° F. a. Ground level (513) (323) c.Humidity c. % of saturation b. Ground level d. Wind speed d. km/hr. ormiles/hour c. Ground level e. Wind direction e. Compass direction d.Ground level f. Atmospheric pressure f. mmHg, mPa e. Ground level g. Dewpoint g. ° C. or ° F. f. Ground level h. Visibility h. km or miles g.Ground level h. Ground level Ground weather station Ground weatherstation Ground weather None Collection: Ground weather a. Precipitationintensity a. mm/hr or in/hr a. Ground level processed data (622)database (323) station database station tile layer b. Temperature b. °C. or ° F. b. Ground level (323) c. Humidity c. % of saturation c.Ground level d. Wind speed d. km/hr. or miles/hour d. Ground level e.Wind direction e. Compass direction e. Ground level f. Atmosphericpressure f. mmHg, mPa f. Ground level g. Dew point g. ° C. or ° F. g.Ground level h. Visibility h. km or miles h. Ground level NWP raw data(526) NWP data collection NWP ground NWP data processing None a.Precipitation intensity a. mm/hr or in/hr a. Ground level  

program (515) weather database¹ program (616) b. Temperature b. ° C. or° F. b. Ground level  

(353) c. Humidity c. % of saturation c. Ground level  

NWP model d. Wind speed d. km/hr. or miles/hour d. Ground level  

atmospheric e. Wind direction e. Compass direction Ground level or  

database (329) f. Atmospheric pressure f. mmHg, mPa level or  

g. Dew point g. ° C. or ° F. g. Ground level  

h. Visibility h. km or miles h. Ground level  

NWP processed ground NWP ground weather NWP ground None Collection: NWPground a. Precipitation intensity a. mm/hr or in/hr a. Ground levellevel data (626) database¹ (353) weather weather tile layer b.Temperature b. ° C. or ° F. b. 3 m above  

database¹ (353) c. Humidity c. % of saturation c. 3 m above  

d. Wind speed d. km/hr. or miles/hour d. 10 m above  

e. Wind direction e. Compass direction e. 10 m above  

f. Atmospheric pressure f. mmHg, mPa f. at sea level g. Dew point g. °C. or ° F. g. 10 m above  

h. Visibility h. km or miles h. 10 m above  

NWP model processed NWP model NWP model None Collection: NWP a.Precipitation intensity a. mm/hr or in/hr a. Ground level  

atmospheric data (629) atmospheric atmospheric atmospheric tile layer b.Temperature b. ° C. or ° F. b. Ground level  

database (329) database (329) c. Humidity c. % of saturation c. Groundlevel  

d. Wind speed d. km/hr. or miles/hour d. Ground level  

e. Wind direction e. Compass direction e. Ground level  

f. Atmospheric pressure f. mmHg, mPa f. Ground level  

g. Dew point g. ° C. or ° F. g. Ground level  

h. Visibility h. km or miles h. Ground level  

Satellite image raw data Satellite image data Satellite image Satelliteimage data processing None Cloud images (527) collection programdatabase (326) program (617) (516) Satellite image Satellite imageSatellite image None Collection: Satellite image Cloud images processeddata (627) database (326) database (326) tile layer Forecastprecipitation One or more of Precipitation Precipitation forecastingForecast (j): Precipitation a. Precipitation intensity a. mm/hr or in/hra. At ground  

data (902) a. Point-to-point forecast program (915) tile layers b.Precipitation type b. Hail, sleet, rain, snow b. At ground  

microwave database (325) c. Precipitation intensity accuracy c. %. c.accuracy of  

precipitation at specified location d. m. km, ft, miles precipitation  

database (327); d. Precipitation intensity spatial of number of linkmicrowave  

and resolution at specified location d. Function of  

b. Cellular network spacing precipitation database Note: Referring  

(354); 6.7, forecast  

AND blended  

One or more of: (8102) which can c. Radar database estimates,  

(322); function (8200),  

d. NWP atmospheric microwave  

database (329) sources (e.g.  

further include  

from one or  

sources (e.g.  

Other info raw data Other info data Other info Other info processor(613) Optional additional tile (523) collection program database (324)layer (514) Accumulated One or more of Accumulated Accumulatedprecipitation Precipitation accumulated over a mm, in, or volume pertime a. Calculated  

precipitation (901) b. Point-to-point precipitation data layer or DataSource specified time period period intensity from  

microwave database (903) data layer layer precipitation OR database(327); Source Data and database c. Cellular network precipitationdatabase (354); AND One or more of: d. Radar database (322); e. NWPmodel atmospheric database (329) f. Forecast precipitation data (902)¹Ground level NWP data is extracted from full atmospheric NWP data setand stored in ground weather database

indicates data missing or illegible when filed

Some collection processes do not organize the information collected bycadence. Often this data is configuration data that is used in thegeneration of pre-stored transforms. Examples are shown in the tablebelow:

TABLE 4 Configuration Data Collection Data type program Database Usagenotes Map data Map data Map database (880) Generating base maps,collection determining geographic program (517) features (e.g. runwaylocations and size/shape), determining elevations of ground locations(e.g. elevations of microwave transmitter and receiver locations)Point-to-point Microwave Point-to-point Locations are used for microwavenetwork data collection microwave link creating point-to-point topologyprogram (510a, topology database microwave precipitation grid 510b)(357) Point-to-point Microwave Point-to-point Point-to-point microwavemicrowave tower and data collection microwave link precipitation gridcreation; signal characteristics program (510a, topology databaseMicrowave precipitation link- 510b) (357) to-grid and grid-to-tiletransforms Point-to-point Microwave Point-to-point Update point-to-pointmicrowave link status data collection microwave link microwaveprecipitation grid updates program (510a, topology database andmicrowave precipitation 510b) (357) link-to-grid and grid-to-tiletransforms Cellular network link Microwave Cellular network linkCellular microwave endpoint information data collection topologydatabase precipitation grid creation; program (510a, (358) cellularmicrowave 510b) precipitation link-to-grid and grid-to-tile transformsImaging satellite Satellite image Imaging satellite Satellite image totile location and data collection characteristics transformcharacteristics data program (516) database (359) Location of interestHyperCast Location of interest Identify locations and areas definitionsprogram (890) database (391) for weather information reporting. Used tocreate weather parameter reporting and forecasting transforms. Radarcharacteristics Radar data Radar characteristics Radar data processingcollection database (392) program (512) Additional data Other info dataOther info database collection (324) program (514)

Pre-stored filters and transforms, stored in transform and filterdatabase (393) permit the efficient processing of collection data bypre-calculating aspects of the variable portions of the complex mappingand forecasting equations, which in turn simplifies the post-collectionprocessing required. This has the effect of significantly speeding upthe processing of the collected data. Some filters and transforms areprovided with the system, others as calculated by information collectionand normalization server (310 of FIG. 9) or offline/backgroundprocessing server (330 of FIG. 9) in response to collected data, or arestored (cached) after they are computed (such as with radar transforms).Offline/background processing server (330) can periodically, for examplein response to collected data, recalculate one or more filters ortransforms and replace a pre-stored filter or transform with therecalculated filter or transform. The system suspends cadencepost-collection processing and forecasting when offline/backgroundprocessing server (330) is updating a filter or transform. A transform Tcan include a clipping transform, mapping transform, coordinate mappingtransform, etc.

TABLE 5 Pre-Stored Filters and Transforms Calculating Type program Useprogram Comments Filter Point-to-point Point-to-point Excludenon-microwave microwave link microwave link transmissions; excludefrequency filter attenuation data transmissions on processing programfrequencies below a (610) specified frequency, for example below 5 GHzCellular network Cellular Exclude non-microwave frequency filter linkdata processing transmissions; exclude program (614) transmissions onfrequencies below a specified frequency, for example below 5 GHzPoint-to-point Point-to-point Point-to-point Exclude microwave linkmicrowave link received microwave link microwave link measurements withsignal strength filter attenuation data attenuation data received signalstrength processing processing program below a specified threshold;program (610) (610) removes inactive links and or pre- links for whichsignal configured strength was not accurately measured Cellular networkCellular link data Cellular link data Exclude microwave link receivedsignal strength processing processing program measurements with filterprogram (614) (614) received signal strength or pre- below a specifiedthreshold; configured removes inactive links and links for which signalstrength was not accurately measured Transform Point-to-pointPoint-to-point Point-to-point Transform raw attenuation microwave linkbaseline microwave link microwave link to attenuation due to transformattenuation data attenuation data precipitation raw processingprocessing program attenuation to attenuation program (610) (610) due toprecipitation. Cellular network Cellular link Cellular link dataTransform raw attenuation baseline transform data processing processingprogram to attenuation due to program (614) (614) precipitation.Point-to-point Point-to-point Point-to-point Transform point-to-pointmicrowave link-to-grid microwave link microwave link microwave linktransform attenuation precipitation measurements to data processingprogram (917) microwave precipitation program (610) grid. Point-to-pointPoint-to-point Point-to-point Transform microwave grid microwavegrid-to-tile microwave link microwave link attenuation measurementstransform attenuation precipitation to microwave precipitation dataprocessing program (917) tile precipitation intensity. program (610)Cellular network link-to- Cellular link Cellular network Transformcellular network grid transform attenuation microwave link measurementsto data processing precipitation microwave precipitation program (614)program (914) grid. Cellular network grid-to- Cellular link Cellularnetwork Transform cellular network tile transform data processingmicrowave grid attenuation program (614) precipitation measurements toprogram (914) microwave precipitation tile precipitation intensity. NWPdata transform NWP data NWP data processing Transform NWP data fromprocessing program (616) NWP data coordinates to program (616) tiles.Satellite image Satellite image Satellite image data Transform satelliteimage transform data processing processing program data from satelliteimage program (617) (617) coordinates to tiles. Radar transform Radardata Radar data Transform radar data from processing processing programradar coordinates to tiles. program (611) (611)

Once the collected data is collected, filtered, pre-processed, andorganized, the asynchronous collection cycle can repeat, possiblyoverwriting any previously collected data.

At the end of a collection cycle, the cadence index is incremented.Collection processes continue writing their newly collected dataassociated with the new cadence index. Processing of recently collecteddata will be completed using the previous (un-incremented) cadence indexthat it was assigned when collected. Subsequent data collected will bestored using the incremented cadence index. The time at which thecadence index was incremented is called the cadence timestamp, and isused in the forecasting process to adjust for collection delays.

Once a cadence instance has all of its data fully collected and writtento the databases, collection post-processing programs are executed byone or more processors of the system. These post-processing programs aresequenced by the system configuration so that data dependencies arehonored and parallel processing pipelines are correctly configured.Specifically, the system does not start of the execution ofpost-processing programs until the data that they need becomes availablefrom other processes (collection or post-processing). As each piece ofdata is made available, the system starts any programs that can be runagainst that data. This has particular importance for parallelprocessing programs that break up a processing task into many tasks thatare executed independently on a plurality of computer processors. Thecollection post processing programs operate on the collected data of thecurrent cadence instance and upon the collected and forecast data ofprevious cadence instances. Post-processing operates by executingprograms that read the data associated with one or more cadence instancetile layers, perform calculations on this data, and store the data in adata type specific database so as to create one or more tile layers inthe F₀ data stack of the current cadence instance. A notification may besent when a post-processing program (or parallel portion) completes orwhen the entire post-processing stage is completed. These notificationspermit the system to start the next process in a processing pipeline, orto transition to a new processing stage (e.g. post-processing toforecast). An example of this type of post-processing is the programthat computes the conversion of microwave link attenuation data into amicrowave precipitation estimate layer by applying a pre-computedtransform to the collected data.

One notable post-collection processing program is the precipitationblending program (918). This program takes one or more precipitationestimate layers from the collection tile stack and blends them togetherto produce an initial forecast precipitation tile layer (e.g. theM_(i)F₀-forecast precipitation tile layer). An exemplary precipitationlayer blending program operates as detailed in FIG. 7. In step 30010,the blending program determines if a microwave link precipitation tilelayer tile is available for the tiles to be blended. If so, in step30020, the microwave link precipitation data is copied to the outputforecast tile and the process ends. In step 30030, if the programdetermines that the microwave link precipitation tile layer tile is notavailable, then the program checks if a second precipitation datasource's tile layer is available. If so, in step 30040, the programcopies the second tile to the output forecast tile and the process ends.As long as there are additional precipitation tile layers to check, theprogram checks each one in turn (step 30050), copying the tile when oneis found. This process iterates for each tile in the output tile layer(step 30060).

An alternative exemplary blending process uses pre-computed accuracyimprovement metrics from transform and filter database (393) to governthe blending operations. The program functions generally as describedabove, but accesses accuracy improvement data from the accuracyimprovement database for the tile under consideration, and uses theaccuracy improvement data for the current tile to select the source tilelayer(s) based upon the highest available accuracy. Thus, if microwavelink attenuation based precipitation estimates are more accurate thanradar-based precipitation estimates for a particular location, theblending program will choose the microwave link attenuation-basedprecipitation estimate. Alternatively, if the radar-based precipitationestimate is more accurate for a particular location, the blendingprogram will choose the radar-based precipitation estimate instead.

The precipitation layer blending program may optionally perform blendingfunctions for wind vector forecasts.

Once the collection post processing stage is complete, the system thenstarts to process the forecasting stage, starting with the forecastpre-processing stage. The forecast pre-processing stage executes theconfigured forecast pre-processing programs in a configuration dependentorder. These programs may be sequenced by system configuration so thatdependencies are honored and parallel processing pipelines are correctlyconfigured. The pre-processing stage reads information stored in thecurrent cadence instance's F₀ tile stack and, optionally, collectedinformation for the current cadence instances or collection or forecastdata of prior cadence instances, performs calculations that produce newdata as a result of those calculations, and writes the resulting data toa data type specific database in order to create a new data type tilelayer of the F₀ tile stack. A notification may be sent when apost-processing program completes or when the entire post-processingstage is completed. These notifications permit the system to start thenext process in a processing pipeline, or to transition to a newprocessing stage (forecast pre-processing to forecast cycle processing).

Once all of the forecast pre-processing is complete, the system beginsan iterative process of calculating the forecasts for multiple points infuture time. The first cycle, F₀, is associated with the cadencetimestamp, as described above. The initial forecast index is set to zero(0).

The forecast cycle operates by selecting a forecasting program such asprecipitation forecasting program (915) of the modeling and predictionserver (360) and executing the program. The forecasting program operatesupon one or more of the current cadence instance's forecast currentcycle tile data (e.g M_(i)F_(forecast) index forecast tile data (andoptionally upon the current cadence instance collection data and/or pastcadence instances collection and forecast data)), reading that data intothe processor memory, performing calculations upon that data, creatingnew forecast data, and writing the resulting data to a data typespecific database in order to create a new forecast data type tile layerassociated with M_(i)F_(forecast) index. A notification may be sent whena forecast program completes or when the entire forecast cycle stage iscompleted. These notifications permit the system to start the nextprocess in a processing pipeline, or to transition to a new processingstage (forecast pre-processing to forecast cycle processing).

By appropriate sequencing of forecast program executions, the system canbe configured, for example, to first process the current forecastprecipitation, and then to execute additional extension programscalculate additional forecast or computed results, such as apost-processing extension program that provides hydrology forecastingbased upon forecast precipitation rates as described herein.

After each forecast cycle completes, and forecast end count has not beenreached, the system iterates to perform the next forecast cycle. Eachiterative forecast cycle increments the forecast index by 1 andgenerates a new forecast cycle timestamp. Processing then proceeds asabove, with the iterative generation of M_(i)F_(forecast) index datatype specific tile layers.

The system can determine accumulation amounts by retrieving parametervalues from tile stacks of multiple models M_(i) and forecast layersM_(i)F_(j) having time stamps covering a desired accumulation time span.The retrieved parameter values are summed to generate an accumulatedamount. Thus, accumulated precipitation from a first time x to a secondtime y is the sum across model and forecast layers spanning time x totime y. To determine an accumulated parameter for an area for time x totime y, the server retrieves parameter values for the area from for theselected layers, calculates an average for the area for each layer, andsums the averages for all selected layer. The average for an area is thearithmetic sum of the data elements within the selected tiles, dividedby the number of tiles.

6.3.2 Illustrative Computing Architecture

FIG. 9 illustrates, by example, a precipitation modeling and forecastingsystem (300) comprising four computing servers (310, 330, 360, and 370)performing the data processing tasks appropriate to the serverarchitecture, with each server operating as a different one of thelogical processing components described above. A plurality of datainputs or data sources (340-342, 344-349), having various origins, canbe received by the precipitation modeling and forecasting system and aplurality of data and outputs produced and distributed by theprecipitation modeling and forecasting system (300). The precipitationmodeling and forecasting system receives the data inputs at various onesof the servers and distributes the data outputs from various ones of theservers in part according to the functionality of each server and inpart according to how frequently the data is updated or collected.Accordingly, some data inputs are received and processed in real time,e.g. processing begins as soon as the data is received and pre-processed(e.g., formatted), while other data inputs are received and/or processedon a scheduled routine (e.g., stored for formatting and processing on atime delayed or batch mode processing schedule). All of the servers anddatabases are interconnected over a communications network, e.g., adigital network such as a private or public network which may be a localarea network (LAN) or a wide area network (WAN).

The digital network may further include a system database (320) thatincludes one more data stores (e.g., a first data store, a second datastore, a third data store, and/or a fourth data store) and is shared bysome or all of the servers (310, 330, 360 and 370) using networkcommunications and/or each server (310, 330, 360 and 370) may includeits own database operating thereon. In any case the precipitationmodeling and forecasting system provides each server with access toexternal data sources (340-342, 344-349) and internal or system datasources from the system database (320) or from databases operating onone or more of the four servers (310, 330, 360, and 370) as is requiredto perform the necessary data collecting, data clean up andpre-processing, precipitation modeling, forecast modeling, or the like.Accordingly, input and output data is processed and modeled in realtime, in a time delayed mode, and in batch mode, respectively, eithersimultaneously or asynchronously, and shared between system componentson various servers using network communications, notifications,messages, common storage, or other means in common use for suchpurposes. The described architecture segregates programs and processesthat have different attributes, including the programs and processesthat are periodically performed on a scheduled routine or basis, batchcollection and loading of data, computation intensive and parallelprocessing modelling, and user interface, onto separate servers forpurposes of clarity of presentation. Alternatively or in addition, otherprocessing arrangements may be used to implement the system.

The information collection and normalization server (310) interacts withexternal data sources (340-342, 344-349) and collects relevantinformation from these sources for use by the precipitation modeling andforecasting system (300). Some exemplary sources are described in moredetail below.

The Terrestrial Wireless Network data source (340) comprises a pluralityof Terrestrial Wireless Network data sources each providing wirelessnetwork topology and infrastructure information and microwave linkinformation relating to one or more microwave networks The wirelessnetwork data sources are typically provided by Terrestrial WirelessNetwork operators, such as Verizon, Sprint, or AT&T. For point-to-pointnetworks, the wireless topology and link information at least includesfor each microwave link, infrastructure and network topology informationsuch as the geolocation and an end point identification of each endpoint, the microwave signal frequency used by the end points, a timestamp, and a link information comprising a data stream of microwavesignal amplitude characteristics sampled over a known temporal period.The microwave signal amplitude characteristics are usable to determinesignal attenuation degradation caused by weather related phenomena suchas precipitation, (e.g. rain, snow, sleet or hail) and others such asfog, clouds, humidity, temperature, wind or the. Ideally, the microwavesignal amplitude characteristics comprise adjusted signal amplitudevalues. An adjusted signal amplitude value is a value that representsthe difference between an expected signal amplitude at a receiving end,under ideal weather conditions, vs. an actual signal amplitude at thereceiving end, wherein ideal weather conditions are a clear day with noweather phenomena present that are known to cause signal attenuation atthe particular microwave signal frequencies and signal amplitudes beingemployed by the point to point or cellular microwave links.

Other wireless topology and link information may include transmittedsignal levels (TSL), received signal levels (RSL), signal polarization,baseline or expected RSL signal levels for given TSL under ideal weatherconditions, the elevation and azimuth angles of the antenna at each endpoint, the altitude of each link end point, or the like. Wirelesstopology and link information may be received from a plurality oflocations, a plurality of network providers over large geographicregions, such as from Terrestrial Wireless Networks operating aplurality of separate cellular network cells or regions (e.g. from aTerrestrial Wireless Network located in Chicago and operated by Verizon,a Terrestrial Wireless Network located in New York and operated byVerizon, Terrestrial Wireless Networks located in New York and inChicago and operated by Sprint, and Terrestrial Wireless Networkslocated in New York and in Chicago and operated by AT&T). EachTerrestrial Wireless Network in each location can provide individualsets of data, and in some instances wireless topology and linkinformation received may comprise a combination of data from severalcarriers operating between the same two end points using differentmicrowave frequencies and signal strengths.

Data from Wireless Network data sources are typically acquired bycommunicating with a management server of one or more TerrestrialWireless Networks or by communicating directly with one or more evolvedMode B (eNB) of these networks. An information collection andnormalization server (310) can send requests for data or receive pusheddata from one or more eNBs and network management servers. Theinformation collection and normalization server (310) includes analerting function wherein a Wireless Network data source is notified ifdata reporting errors occur; for example if an eNB or wireless networkmanagement server stops reporting data or if received data includesmissing information, as compared to previous data, or zero valuemeasurement reports.

The Terrestrial Wireless Network data can be provided in the form of oneor more CSV files and may include static network topology information,such as the location and altitude of antenna masts and antenna(s) onthose masts, along with orientation and polarization of the signals sentby the transmitter, the identity and type of eNB equipment(transmitters) attached to those antennas, identification ofpoint-to-point microwave links, including point-to-point link endpointlocations, link length, power settings, and signal polarization. Thedata sources may also provide cellular link configuration and operatinginformation related to cellular microwave communication signalstransmitted between eNBs and UEs. The cellular link configuration dataprovided may optionally include identity and location of UEs andidentify these connections as dynamic or static links each having a UElink ID and an activity indication, such as the last time the UEcommunicated with the eNB. The operating information included in thedata may include information regarding both static and cellular links,including a link ID, whether the link is operating, its operating power,transmitted and received polarization characteristics, the signalpropagation time, and the observed attenuation of the microwave linksignal. The data source may also provide additional information relatedto the Terrestrial Wireless Network, its topology, and its operations. Anon-limiting example of the types of information provided by aTerrestrial Wireless Network data source is provided in Table 6 below:

TABLE 6 Information Types Provided by a Terrestrial Wireless NetworkData Source Antenna Masts Mast ID Unique ID of the antenna mast.Location Latitude and Longitude of antenna or GPS coordinate (mayinclude the base altitude of the mast). Antenna Antenna ID Unique ID ofthe antenna. Altitude Altitude of the antenna. Azimuth Compass azimuthof the antenna. Cellular antennas Elevation Angle of elevation of theantenna. Cellular antennas eNB ID Unique ID of the eNB the antenna isCellular antennas connected to. Point-to-Point Microwave Links PathName/Link ID Endpoint A antenna ID Endpoint B antenna ID Frequency InGHz Polarization Quantization Quantization of link measurements. e.g.0.1, .5, 1 dB TX Level Transmission level (reported by link), 0 if notIn dB operating. RX level Received level (reported by link). In dBSignal attenuation Signal attenuation (in dB). Calculated fromtransmission characteristics Adjusted signal Signal attenuation adjustedfor zero-value. Calculated from attenuation Signal attenuation TimestampTimestamp of last reading. Cellular Microwave Links UE ID User Equipmentunique ID. Often MEID Antenna ID Antenna ID for the eNB connected to.Timestamp Timestamp of last reading. Frequency Frequency of the link(may change regularly, In GHz depending upon signaling protocol).Quantization Quantization of link measurements. e.g. 0.1, .5, 1 dB UElocation Latitude and Longitude of the UE. Computed or read Link LengthLength of the link (in meters). Computed from UE and antenna locationsDistance from antenna Distance of the UE from the antenna (in May becomputed meters). from signal propagation information or UE location andantenna location TX Level Transmission level (reported by link), 0 ifnot In dB operating. RX level Receive level (reported by link). In dBAttenuation The amount a signal is reduced by In dB transmission betweentwo endpoints. Adjusted signal Signal attenuation adjusted forzero-value. Calculated from attenuation Signal attenuation

Weather satellite information data sources (345) include providers ofdata collected by weather satellite systems. Exemplary weather satellitesystems include National Oceanic and Atmospheric Administration's (NOAA)Geostationary Operational Environmental Satellite (GOES) and PolarOperational Environmental Satellite (POES) systems as well as weathersatellite systems operated by other organizations and countries. Theseweather satellites provide image data from visible light and infraredsensors associated with cloud coverage and cloud systems, pollutioneffects, dust storms, smoke from fires, snow and ice cover, oceancurrent boundaries, volcanic activity, ozone holes, and the like.Weather satellites can also provide other weather-related data such ashumidity data generated by microwave humidity sounders and data gatheredby other weather satellite mounted microwave sounders. Data from weathersatellite information data sources (345) can be factored into how aprecipitation map based on microwave attenuation data is constructed aswell as how a precipitation map is forecast.

Weather Radio Detection And Ranging (RADAR) data sources (344) provideweather radar information, which may include static radar informationsuch as the location, beam angle, radio frequencies used, and similarinformation, and dynamic information such as radar reflectivity undervarious conditions. The weather radar data sources may also providepre-processed radar data sets. Available radar data sets include avariety of measurement data types, data presentation formats, andprocessed or partially processed data products.

Weather radar systems include a transmitter that emits pulses ofmicrowave signals outward over a circular pattern; however, themicrowave signals can be scattered by precipitation, with some of theenergy reflected back, and the reflected microwave signals that arereflected back to a radar receiver are processed as radar data. Theamplitude of the received radar signal as well as the round-trip time ittakes to receive a radar echo are used to determine a type ofprecipitation, the location and boundaries of precipitation patterns andthe precipitation intensity of precipitation patterns that resulted inthe radar echo characteristics. Additionally, Velocity Azimuth Display(VAD) Wind Profile data is a type of radar information usable toestimate horizontal wind velocity at various vertical heights above theradar transmitter.

Exemplary weather radar systems that are network accessible and can beused as a weather radar data source include Next Generation WeatherRadar (NEXRAD), which is a network of 159 high-resolution S-band Dopplerweather radars operated by the National Weather Service (NWS) andTerminal Doppler Weather Radar (TDWR) operated by the Federal AviationAdministration (FAA) in the United States. NEXRAD and TDWR data sets canbe retrieved from the National Oceanic and Atmospheric Association(NOAA) Radar Operations Center, NOAA's National Centers forEnvironmental Information (NCEI), and from the National Weather Service(NWS).

For example, NEXRAD data sets available from NCEI include Level-II database data sets which include digital radial base data (Reflectivity,Mean Radial Velocity, and Spectrum Width) and Dual Polarizationvariables (Differential Reflectivity, Correlation Coefficient, andDifferential Phase) output from the signal processor in Radar DataAcquisition units. The output also includes status information requiredto properly interpret the data (e.g., information on synchronization,calibration, date, time, antenna position, Nyquist velocity, andoperational mode). Data collection and recording are generally providedas files, which typically each contain four, five, six, or ten minutesof base data depending on the volume coverage pattern. A data fileconsists of a 24-byte volume scan header record followed by numerous2,432-byte base data and message records.

Records available from the weather radar data sources (344) also includeLevel-III data such as, for example, instantaneous precipitationintensity and one hour precipitation accumulation derived from radardata. The weather radar data source (344) can also provide data thatincludes Velocity Azimuth Display (VAD) Wind Profile data which providesan estimate of horizontal wind velocity at various vertical heightsabove the radar transmitter.

Ground station weather data sources (346) include individual weathersensors operating at or near ground level at various geolocations suchat land and sea based weather stations, at airports and sea ports, ontop of buildings and mountains at various altitudes. The ground weatherdata sources include rain or snow gauges for measuring actual rain andsnow accumulation on the ground, barometers for measuring localatmospheric pressure, thermometers, wind speed and direction sensors,and hydrometers for measuring relative humidity or dew point. Groundweather data may be provided by one or more networks of weather stationsand weather sensors such as those provided commercially by the WeatherCompany.

A partial list of weather sensors and related weather data that may beobtained from various external data sources is provided in Table 7below.

TABLE 7 Weather Sensors and Related Weather Data # Sensor ModalityTemporal Resolution Spatial Resolution 1 Radar 3-10 min    1 km 2Microwave Links  1 min 300 m 3 Satellite 30 min-3 hr 4 Rain Gauges and60 min Meters 5 Barometers 60 min 6 Temperature 60 min 7 Humidity 60 min8 Dew Point 60 min 9 Visibility 60 min

Numerical Weather Prediction (NWP) model data sources (341) can includesources of data derived from numerical modeling, including numericalmodels maintained by the National Weather Service (NWS), and NationalCenters for Environmental Prediction (NCEP), which include assimilationand modelling using data inputs from multiple sources includingcommercial aircraft weather data, balloon data, radar data, surfaceobservations, and satellite data. NCEP models include the Rapid Refresh(RAP) and High Resolution Rapid Refresh (HRRR) models which provideoutput data including gridded wind vectors and Convective AvailablePotential Energy (CAPE) data. Additional data available from NWP datasources (341) can include ground level and atmospheric data includingtemperature, humidity, dew point, total cloud cover, precipitation rate,and precipitation type.

Other Info data sources (347) are any sources of data that do not fallinto any of the other data categories (e.g., 340, 341, 342, 344, 345,346, and 348).

Map data sources (348) are providers of map and Geographic InformationSystem (GIS) data, which includes geoinformation such as topographic andgeneral reference map information related to the shape and geolocationof ground landmarks such as hills, mountains, shorelines, or the like,and may further provide data, e.g. geolocation of roadways, railways,airports, seaports, levies, retaining walls, dams, and any other manmadestructures as may be required.

The system may also access and use external databases (349), includinghistorical weather information and topographic maps or the like, whichare accessed by the information collection and normalization server asappropriate. The information collected by the information collection andnormalization server (310) may be processed further by the server, andthen written to one or more system databases (e.g. system database 320),and the information is then shared with the other servers (330, 360, and370) in the system, either directly or through the system database(s),for use in various weather related processing steps.

The system database (320) may include one or more individual databases(e.g. stored on each of the servers of the precipitation modeling andforecasting system (300)), and/or may include a centralized databaseserver, including one or more logical databases, used to store data usedto generate precipitation and precipitation forecast models and or maps.System database (320) may also include an external database server ordatabase service such as a cloud-based data storage service. Individualdatabases of the system identified throughout this document are part ofthe system database (320) shown in FIG. 9.

The Offline/Background processing server (330) retrieves updates fromthe information collection and normalization server (310), from thesystem database (320), and from external databases (349). Theoffline/background processing server executes a series of background andscheduled programs that recalculate and/or update information related tothe precipitation models and the underlying reference tables that thesemodels rely upon. The processes performed by this server arecharacterized by their operation not being as time constrained as otherprocesses used to generate a precipitation model. The data generated bythese executing programs are written back to the systems database (320)and are shared with the other servers in the system either directly orthrough the database. Some examples of these programs include parsingdata to identify potential data errors, such as missing information ordata that is not usable for the intended purpose, e.g. data that isimproperly formatted or that needs further processing such asnormalizing, adding or removing metadata, scale conversion, changingquantization intervals, or generating a required data transform prior tobeing stored in the system database (320).

The modeling and prediction server (360) retrieves information from thesystem database (320), from the information collection and normalizationserver (310), and from other sources of prepared data provided by theother servers of the precipitation modeling and forecasting system (300)and executes programs to perform various complex and processor intensivemodelling and prediction algorithms and data manipulations used toprepare a one or more precipitation forecasts which may be projectedonto geographic maps. Information is obtained from the systems database(320), including any forecast data that was previously processed. Theresulting forecast data are written back to the systems databases forlater use and for sharing with the other servers of the precipitationmodeling and forecasting system (300). Alternatively, one or more of thenewly generated forecast data are sent directly to the informationdistribution and alerting server (370) for use in notifying a user.

The information distribution and alerting server (370) retrievesinformation from the system database (320), or from the modelling andprediction server (360) and processes the data received therefrom inorder to merge forecast data with one or more customized mapping and orinformation templates e.g. also retrieved from the system database (320)or from public map sources and data sources (e.g. map data sources (348)and external databases (349)) in order to produce data outputs (380),e.g., used for weather-based information products that are distributedto end users. These weather-based information products may be producedon demand or on a scheduled basis.

Each exemplary server may be implemented as an individual computersystem, a collection of computer systems, a collection of processors, orthe like, either tightly or loosely clustered, a set of interactingcomputer systems that are not clustered, or other arrangement as deemedappropriate by those with skill in the art. Computer systems can beimplemented using virtual or physical deployments, or by using acombination of these means. In some implementations, the servers may bephysically located together, or they may be distributed in remotelocations, such as in shared hosting facilities or in virtualizedfacilities (e.g. “the cloud”). Examples of this type of distributedshared hosting include Amazon's AWS services and Rackspace's ManagedCloud.

An exemplary computer server (400) is illustrated in FIG. 10. Eachexemplary server (400) comprises one or more processors or dataprocessing components (410), such as general purpose CPU type orspecialty processors such as FPGA or GPU, operably connected to memoriesof both persistent (430) and/or transient (440) nature that are used tostore information being processed by the system and to additionallystore various program instructions (collectively referred to herein as“programs”) (420) that are loaded and executed by the processors (410)in order to perform the process operations described herein. In somecases, such as FPGAs, programs comprise configuration information usedto adapt the processor for particular purposes. Each of the processorsis further operably connected to networking and communicationsinterfaces (450) appropriate to the deployed configuration. Storedwithin persistent memories of the system may be one or more databases(460) used for the storage of information collected and/or calculated bythe servers and read, processed, and written by the processors (410)under control of the program(s) (420). Database 460 is an internalinstance of at least a portion of system database 320. A server may alsobe operably connected to an external database (470) via one or morenetwork or other interfaces. Database 470 may be an instance of thesystem database (320) that is provided on another server, or may be anetwork connected database that is a commercial or other external source(349).

Persistent memories may include disk, PROM, EEPROM, flash storage, andsimilar technologies characterized by their ability to retain theircontents between on/off power cycling of the system. Some persistentmemories may take the form of a file system for the server, and may beused to store control and operating programs and information thatdefines the manner in which the server operates, including scheduling ofbackground and foreground processes, as well as periodically performedprocesses. Persistent memories in the form of network attached storage(NAS) (storage that is accessible over a network interface) may also beused without departing from the scope of the disclosure. Transientmemories may include Random Access Memory (RAM) and similar technologiescharacterized by the contents of the storage not being retained betweenon/off power cycling of the system.

One or more databases are stored within at least one persistent memoryof the system and are considered as logical parts of the system database(320 of FIG. 9). These databases may include local file storage, wherethe file system comprises the data storage and indexing scheme, arelational database, such as those produced commercially by the OracleCorporation, or MySQL, an object database, an object relationaldatabase, a NOSQL database such as the commercially provided MongoDB, orother database structures such as indexed record structures. Thedatabases may be stored solely within a single persistent memory, or maybe stored across one or more persistent memories, or may even be storedin persistent memories on different computers.

The system is illustrated with multiple logical databases for clarity.The system may be deployed using one or more physical databasesimplemented on one or more servers, for example, server 310, 330, 360,or 370, or may be implemented using clustering techniques so that partsof the data stored in the database is physically stored on two or moreservers. In some implementations, the system database or one or more ofthe logical databases may be implemented on a remote device and accessedover a communications network.

Within system database 320, there are logical databases as listed inTable 8. These logical databases are omitted from the drawings forclarity.

TABLE 8 Logical Databases (within System Database) Number NameDescription 321 Point-to-point Contains point-to-point microwave linkraw attenuation microwave link data (520) and point-to-point microwavelink processed attenuation attenuation data (620) database 351 Cellularnetwork link Contains cellular network raw attenuation data (351) andattenuation cellular network processed attenuation data (624) database322 Radar database Contains radar raw data (521) and radar processeddata (621) 353 NWP ground Contains NWP raw data (526) and NWP processedground weather database level data (626) 329 NWP atmospheric ContainsNWP raw data (526) and NWP processed database atmospheric data (629) 323Ground weather Contains ground weather station raw data (522) andstation database ground weather station processed data (622) 326Satellite image Contains satellite image raw data (527) and satelliteimage database processed data (627) 880 Map database Contains map rawdata (528) and map processed data (628) 324 Other info database Containsother info raw data (523) and other info processed data (623) 327Point-to-point Contains generated by point-to-point microwave linkmicrowave precipitation program (917) generated by point-to-pointprecipitation microwave precipitation program (917) database 354Cellular network Contains cellular network microwave precipitationintensity precipitation estimates (624) generated by cellular networkmicrowave database precipitation program (914) 325 PrecipitationContains forecast precipitation estimates (628) generated forecastdatabase by precipitation forecasting program (915) 357 Point-to-pointContains point-to-point network link endpoint locations, microwave linkTower ID's, transmitter and receiver characteristics, etc. topologydatabase 358 Cellular network link Contains cellular network linkendpoint locations, endpoint topology database IDs, transmitter andreceiver characteristics, etc. 359 Imaging satellite Contains imagingsatellite locations, equipment characteristics characteristics, etc.database 391 Location of interest Contains locations of interestinformation, e.g. flag database locations, polygon location and boundarydefinitions, and configuration information associated with locations ofinterest. 392 Radar characteristics Contains ground weather data sourcelocation, elevation, database signal characteristics, etc. 393 Transformand filter Contains stored transforms and filters such as those listedAccuracy in Table 5. Accuracy improvement details for precipitationImprovement sources by location. database

The network interfaces (450) are operated under control of the processorthat they are connected to and the processing instructions containedwithin the control and operating programs associated with that processoras mentioned above. These interfaces provide a connection to wired andwireless networking products that operably connect the servers, datasources, and network services described herein.

The server supports one or more programs for providing server managementinformation utilizing a web services interface or other dedicatedmanagement information reporting systems such as Simple NetworkManagement Protocol (SNMP) for purposes of providing managementinformation useful to report on the operation of the server. Forpurposes of clarity, each network interface (450) is illustrated as aseparate interface, but may be implemented as one or more interfaces ifdesired.

6.3.3 Information Collection and Normalization Server

An exemplary Information collection and normalization server (310), asillustrated in FIG. 11, comprises one or more computer systems similarin construction to the exemplary server illustrated in FIG. 10. Thisserver collects, validates, sanitizes, normalizes, and storesinformation collected from a plurality of sensors and data sources, suchas Terrestrial Wireless Network data sources (340 a, 340 b), WeatherRadar data sources (344), ground weather data sources (346) such as raingauges and local weather stations, or other providers of at least oneaspect of weather information, into one or more logical databases(systems database 320, 321-329, 351-359, 880, 391-393) each logicaldatabase comprising specific types of collected information. Thedatabases are represented as logically separate for clarity, but may becombined in physical implementations if desired. Information isprocessed by one or more processors (e.g. 505, processor 410 of FIG. 10)using information processing programs specific to the type ofinformation being processed (510-517, 420 of FIG. 10) that are stored inor executed within one or more transient or persistent memory(ies) ofthe system (500, 430 and 440 of FIG. 10). These programs readexternally-provided information over a network interface into the system(530 a-530 i, 530 z), error check the data collected, transform the databy normalizing values and computing missing or dynamically determinedvalues, and making the data (520-528) ready for use by other programs orservers of the system by storing the resulting data into one or moredatabases (systems database 320, 321-329, 351-359, 880, 391-393).Processes for ingesting a first type of information can be performedindependently of other processes for ingesting other types ofinformation. Alternatively, these processes may be performed at the sametime without loss of functionality. Either approach may involve readingadditional data that is simultaneously or previously acquired from thesame or other sources, or may include other data stored in one or moredatabases of the system. Such simultaneously or previously acquired data(520-528) can be held in and accessed from transient or persistentmemory (500, 430 and 440 of FIG. 10), external storage (e.g. systemsdatabase 320, 321-329, 351-359, 880, 391-393, database(s) 470 of FIG.10), or any combination of these or other locations as deemed proper bythose with skill in the art.

The information collection and normalization server supports one or moreprograms for providing server management information utilizing a webservices interface or other dedicated management information reportingsystems such as SNMP for purposes of providing management informationuseful to report on the operation of the server. For purposes ofclarity, each network interface (e.g. 530 a, 530 b . . . 530 z) isillustrated as a separate interface, but may be implemented as one ormore interfaces if desired.

Each information source that is utilized by the information collectionand normalization server typically has a dedicated interface programpresent on the information collection and normalization server thatoperates to (a) connect to the information sources over a network, (b)interact with the information source using well defined interfaces, and(c) retrieve selected data from the information source, (d) process thatretrieved data in accordance with information source specificalgorithms, and (e) write the processed data to one or more persistentmemories of the system. Different programs are used depending upon thetype of information source accessed, its defined interface, and thenature of the processing required. Details of the processing are coveredlater.

Generally, information sources may be classified on the type of theinterfaces they provide. Some information sources may provide aplurality of interface types. In some implementations, the informationsource provides synchronous or asynchronous “push” notifications to theinformation collection and normalization server. In some implementationsthe information source batches and pushes data to information collectionand normalization server. In either case, information is “pushed” to theinformation collection and normalization server as it becomes availableat the information source, which then uses the interface program and,optionally, information contained in the notification to connect to theinformation source to obtain the updated information from it. Theinformation is copied to the information collection and normalizationserver, where it is stored in a database and then pre-processed inaccordance with the pre-processing appropriate to its data type.

In other implementations, the information source is periodically polledby the information collection and normalization server, which connectsto the information source over the network in order to determine if newor updated information is available. A number of polling schemes areanticipated, common schemes include checking for a file in a specificdirectory, checking the date/time stamp on a status file, querying aservice to determine status, etc. If updated information is identified,that information is copied to the information collection andnormalization server, where it is stored in a database and thenpre-processed in accordance with the pre-processing appropriate to itsdata type.

In still other implementations, the interface program connects to theinformation source and receives a network stream of information,typically sent to an open socket on a periodic basis. Types of datastreams utilized may vary, and may include uni- and multi-cast streams,RSS feeds, and the like. In each case, as information is received by theinformation collection and normalization server, the information isstored in a database and then pre-processed in accordance with thepre-processing appropriate to its data type.

In yet other implementations, the information source is a query-basedservice such as a web service, and the interface program connects tothat service and issues a query for information. The query results arereturned to the interface program, where the results are stored in adatabase and then pre-processed in accordance with the pre-processingappropriate to its data type.

Some interface programs may use a combination or mixture of thesetechniques when interfacing to an information source. For example, aninterface program may receive push notifications for a first type ofinformation that is infrequently updated by an information source, whilereceiving a stream of data for frequently updated information.

Some anticipated interface programs include those that interface to oneor more Terrestrial Wireless Network data sources and collect and returnwireless network microwave link information, those programs thatinterface to one or more weather services such as weather radarinformation provided by NOAA, and interface programs that connect toweather data providers that provide current temperature, humidity, andwind speed information. Other interface programs may be provided asneeded to access specific types of information needed by the systemwithout departing from the scope of the disclosure.

6.3.4 Offline/Background Processing Server

The Offline/background processing server (330) as illustrated in FIG.12, comprises one or more computer systems similar to the exemplaryserver illustrated in FIG. 10. This server performs non-time-sensitivedata processing on collected information, and periodic processing toupdate longer term models. Offline/background processing server (330)also pre-calculates and updates pre-calculated transforms fortranslating collected information into formats usable by other serversand programs of the system. Processing is carried out by one or moreprocessors (605, 410 of FIG. 10) using programs, filters, and transformsspecific to the type of information being processed (610-613, 420 ofFIG. 10). The programs are stored in or executed in transient orpersistent memory (600, 430 and 440 of FIG. 10), and carry outprocessing required on data stored in or executed in transient orpersistent memory (430 and 440 of FIG. 10, also 500, 600, 700, and 800of FIGS. 11-14) and/or system database (320).

The offline/background processing server (330) supports one or moreprograms for providing server management information utilizing a webservices interface or other dedicated management information reportingsystems such as SNMP for purposes of providing management informationuseful to report on the operation of the server. For purposes ofclarity, each network interface is illustrated as a separate networkinterface (635), but may be implemented as one or more interfaces ifdesired.

The point-to-point microwave link attenuation data processing program(610) provides a series of non-time critical processing related to themicrowave link information collected by the system and updates theunderlying model maps for the microwave link coverage. Thesecalculations are performed by several programs that are executedindependently on the server on an as needed basis.

A first such independent process is the Accuracy Improvement AnalysisProgram (640). As previously noted, radar precipitation estimates haveknown limitations and often predict precipitation that does not reachthe ground. Typical radar precipitation estimate accuracy can be as lowas 50% when compared to ground truth precipitation measurements fromrain gauges. Precipitation estimates based upon microwave linkattenuation measurements from terrestrial microwave links have anaccuracy of approximately 90%. Microwave links are close to the groundand provide diverse (spatially and temporally) measurement data but donot have complete coverage. The accuracy of precipitation forecasts isimproved when microwave link attenuation precipitation estimates arecombined with other precipitation estimates from different precipitationestimating systems using different data sources (and in particular,weather radar). Accuracy improvements in precipitation estimates can beestimated by correlating the estimates made using remote sensing systems(such as radar estimated precipitation rates) with the estimatedprecipitation data based upon terrestrial microwave link attenuationdata. Combining microwave link precipitation estimates with radarprecipitation estimates can improve the accuracy of the combinedestimates by 40% as compared to radar precipitation estimates alone. Theaccuracy improvement estimates may be used to improve the accuracy ofthe subsequent precipitation modelling.

Known limiting factors for weather radar technologies are geographical(e.g. topography, urban coverage, climate); the accuracy improvement isattained by using precipitation intensity estimates from multiple inputsources, e.g. using inputs from both point-to-point microwave linkattenuation and radar data together. Besides a program that estimatesthe accuracy improvement from a variety of input sources and trackingthe accuracy improvement as part of the forecast data, which is afunction of the characteristics of the collected radar information (typeof radar, distance from the location of interest, etc.), the followingcategories of terrain are of a specific interest:

Urban area

Mountains (slopes)

Dry weather (deserts)

In these types of areas, weather radar precipitation estimates have wellknown accuracy limitations, and there is a gap between the precipitationamounts estimated by the radar and the amount of precipitation amountsmeasured at ground level. In an embodiment, the accuracy improvementcalculations of the present technology is based using terrain-typeinformation collected by the system, radar-based precipitationestimates, and terrestrial microwave link coverage and identifying apre-set improvement metric based upon the available precipitationestimates and their inherent accuracy under the data collectionconditions (e.g. distance from the radar site, number of microwave linksin the area) and the terrain types. The accuracy estimating program isexecuted on a periodic basis to update a database of accuracyimprovement scores associated with specific blending techniques.

A second such independent process is the baseline attenuationdetermination program (641), which determines “clear air” attenuationadjustments for microwave links in order to calibrate the attenuationfor each link based upon the power law equation and general weatherconditions. The process obtains each link's attributes and thencalculates the amount of attenuation that would normally be expected ifthere were no precipitation attenuation. These baseline attenuation maybe determined, for example, by using link and local weather informationsuch as link length, frequency, polarization, bandwidth, terraincharacteristics and other potential effectors of multipath, and slowlychanging weather phenomena such as temperature and humidity.Alternatively, the baseline attenuation may be based upon historicalinformation about the link or by a combination of current and historicmeasurements. A baseline attenuation can be determined for eachmicrowave link known to the system, written to one or more baselineattenuation transforms, and stored in a transform database. The baselineattenuation transforms can be applied to attenuation measurements, andthe baseline attenuation subtracted from the reported measuredattenuation, to isolate the measured attenuation due to precipitation.The result of this adjustment is that, before calibration, precipitationintensity values calculated based on the link's measured attenuation,and thus the precipitation accumulations calculated from theseprecipitation intensity values, may be different than those recorded byrain gauges. They have the same trends, but the amplitudes aredifferent, and the zero level may vary. There are many reasons for thisphenomenon, such as changes in the environmental conditions (humidity,fog, water vapor, and atmospheric gasses), steady water bodies (riversand lakes) in the space between the antennas, and more, such as forexample changing the modulation state of the system. The baselinecalibration is performed periodically. Adjusting the reportedattenuation for microwave links by the baseline amount reduces theeffects of these non-precipitation factors, and helps the system to moreaccurately measure precipitation.

For example, the baseline attenuation value for one or more microwavelinks may be calculated using the following process:

A) Determine baseline “clear” weather conditions in the area of themicrowave link by obtaining humidity data from one or more groundweather sources. This data may be current and/or historical in nature.Optionally, several relevant humidity readings may be obtained andaveraged.

B) Calculate the baseline attenuation per unit distance (e.g. dB ofattenuation per kilometer) in the area of the microwave link. Store thisvalue in the system database as a baseline adjustment to be applied tonew microwave link readings.

C) Repeat the calculation of baseline amounts for other microwave linksidentified by the system until a zero value is determined for each areanear a microwave link.

The point-to-point microwave link attenuation data processing program(610) also performs consistency checking of microwave link informationin the databases. For example, if a microwave link is added or removedfrom the database, but the precipitation models rely on microwave linkinformation from that link, the link coverage models need to be updatedfor the new link topology. The consistency checking component performsthese updates. Similarly, if a microwave link is not reporting linkattenuation information for a period of time, the microwave link dataprocessing program identifies this link for investigation, andoptionally removes the link from the link topology models until theproblem can be identified and fixed. Similarly, if a microwave linkfrequency or polarization changes, the link topology models are updatedas necessary. These changes to the underlying link topology models aremade on an as-needed basis.

The radar data processing program (611) reads radar informationcollected by the information collection and normalization server (310)and performs further processing on the radar information in order tomake the information usable by the modelling programs. One example ofthis processing is the extraction of wind vectors from the collectedradar data and the storing of these wind vectors in the system databasefor subsequent use by the modelling programs.

The ground weather processing program (612) reads information collectedfrom external ground weather sources and makes this informationavailable for modelling programs after performing data cleanup steps bystoring the ground weather data in the system database.

6.3.5 Modeling and Prediction Server

The Modeling and prediction server (360) as illustrated in FIG. 13,comprises one or more computer systems similar to the exemplary serverillustrated in FIG. 10. This server performs calculations and modellingfor real-time processing of information, calculations of weather models,and production of weather predictions using one or more processors (730)and programs including real time precipitation estimation programs (e.g.point-to-point MW link precipitation program (917), cellular network MWprecipitation program (914) and prediction processing programs (e.g.,precipitation forecasting program (915)) stored and executed fromtransient or persistent memory (700). The server programs readinformation from system database (320) including one or more databaseslisted in Table 8, for example processed microwave link measurementsfrom attenuation databases (e.g., 321, 351), databases containingprecipitation estimates (e.g., 327, 354, 356, 329, 322) and wind vectordata source databases (e.g., 322) as required, and can cache (720) datain one or more transient or persistent memories (700) for use byprograms that carry out real-time modeling and/or prediction processing.Processing results are written as updates to, or new information for oneor more databases containing precipitation estimates (e.g., 327, 354,356) and precipitation or other parameter forecasts (e.g., 325).

The modeling and prediction server supports one or more programs forproviding server management information using a web services interfaceor other dedicated management information reporting system, such asSNMP, for purposes of providing management information useful to reporton the operation of the server. The real time modelling program collectsinformation previously stored in one or more of the system databases andcalculates the current precipitation intensity values based upon theprecipitation models. The current precipitation intensity values arestored back into a database for later use. Details on this program'soperations are provided below.

The prediction processing program collects information previously storedin one or more of the system databases and calculates the predictionforecasts produced by the system. Details on this programs operation areprovided below.

6.3.6 Information Distribution and Alerting Server

The information distribution and alerting server (370), as illustratedin FIG. 14, comprises one or more computer systems similar to theexemplary server illustrated in FIG. 10. This server employs one or moreprocessors (870) using specialized programs (810, 820, 830, and 840) topackage collected information together with calculated informationgenerated by the system into information products and distribute them tousers. Typically, this information is provided to users via a webservice (840), a notification provider (830) or by other means (notshown). Packaging collected information into information products isperformed by a map generation program (810) using data from map datasources (348) and map databases (880) and the results of forecastprocessing by other servers stored in one or more system databases (e.g.325). In at least some implementations, data required by the mapgeneration program (810) can be read from system database (320)including one or more databases listed in Table 8, and process the datato make its format usable with the map information as an independentlayer of the map, such as for merging, normalizing, or reformatting, bya data manager program (820). Programs (810 and 820) can be stored inand executed from transient or persistent memory (800). This server isconnected to the other servers, data sources, and services usingtraditional networking techniques and interfaces (845 a, 845 b).

The map database (880) can be a local database that stores mapinformation used by the server to produce the information products. Inan embodiment, the map database (880) may be an external database thatis not part of the system database (320).

The information distribution and alerting server supports one or moreprograms for providing server management information utilizing a webservices interface or other dedicated management information reportingsystems such as SNMP for purposes of providing management informationuseful to report on the operation of the server. For purposes ofclarity, each network interface is illustrated as a separate networkinterface (845 a, 845 b), but may be implemented as one or moreinterfaces if desired.

6.3.6.1 HyperCast Program

Referring again to FIG. 14, the information distribution and alertingserver (370) includes a HyperCast program (890) which communicates withnetwork interface programs such as web interface program (840) and API(835) in order to receive requests for data products from users and toproduce displays and reports for delivery to users. User requestsinclude time and weather parameter requests at specific locations ofinterest, and requests for notification or alerts based upon specificuser-specified thresholds. User responses may include data setscomprising data from one or more system databases matching the requesttime and weather parameter request, screen displays, reports, and/oralerts and notifications based upon request parameters.

In an illustrative exemplary usage of the HyperCast program (890), auser connects to the web interface of the information distribution andalerting server (370) and is connected to an executing HyperCast program(890) instance. The user selects a first particular location of intereston the overview map. The HyperCast program (890) first displays a firstset of user configured weather parameter data corresponding to theselected location on the timeline. The HyperCast program (890) thenpopulates the timeline element with a second set of user configuredweather parameter data, and places the timeline slider element at timeslot zero (i.e. current time) and displays third set of user configuredweather parameter data corresponding to the selected location ofinterest and time slot in the details display bar. If a user moves thetimeline slider along the timeline to select a historic or future timeslot, the HyperCast program (890) then updates the overview map displayand the details display bar to display weather parameter datacorresponding to the selected time slot. If a user selects, on thetimeline, a first and a second time slot in order to select a time spanfor determining accumulated weather parameter data, such asprecipitation amounts, the HyperCast program (890) retrievesprecipitation data from one or more system databases corresponding tothe data identified using the selected time span and cadence instancetile layers, and calculates a total precipitation for the selected timespan as described below. The retrieved precipitation estimates caninclude weather parameter data associated with one or more cadenceinstance tile layers such as precipitation accuracy estimates. If a usertoggles from overview map display to dashboard display, the systemretrieves the user configured weather parameter data corresponding toeach location of interest defined on the overview map and displays theconfigured weather parameter data corresponding to each location ofinterest in a separate mini status window.

The HyperCast program (890) operates by translating the user requestsinto database requests by mapping the user request to one or moreelements in a systems database by referencing the logical data modeldescribed above that organizes the data in the database into cadenceinstances and tile layers as described above. This mapping is done by orin conjunction with the data manager program (820) to determine theappropriate sources of the data. The data manager program associatestime-based requests to specific cadence instances, weather parameterrequests to specific tile layers within the associated cadenceinstances, and location requests to specific tiles within the tilestacks of the associated tile layers of the selected cadence instances.The HyperCast program (890) further communicates with map generationprogram (810) or external mapping services in order to translate anddisplay the responsive data on one or more maps. The HyperCast program(890) further communicates with notification program (830) and API (835)in order to provide data products generated by the HyperCast program(890) to users via network interface (845 b).

A user interacts with the user interface overview map to selectlocations of interest by indicating points of interest by placing flagmarkers and drawing polygons in order to specify an area that is alocation of interest. If the user request arrives from the API (835),the locations of interest are specified using either geospatialcoordinates (e.g. latitude/longitude pair) or a polygon specificationcomprising a list of geospatial coordinates.

To generate an overview map, information distribution and alertingserver (370) receives a user request, then associates the request withgeographic map data from map database (880) and with the responsive datacorresponding to the user-provided weather parameters from one or morecadence instance collection and forecast layer tile stacks. For example,the user-provided weather parameters may specify satellite image datafrom satellite database (326), radar data from radar database (322), andprecipitation intensity estimates that were blended (calculated) from acombination of radar and microwave link-derived precipitation forecastestimates from the precipitation forecast database (325).

The data manager identifies data elements in the database thatcorrespond to the user request by first determining which data elementsto retrieve for each selected location of interest, requestedparameters, and the time line element settings, and then retrieves thatidentified data from the system databases (collectively). This data isreturned to the HyperCast program (890), which then calls a mapgeneration program to map the retrieved data.

The map generation program or an external map generation service thencreates a map display that includes the map data along with thecurrently configured user-defined parameters, such as current timeprecipitation intensity estimates, satellite data, and radar data. Themap display can include color coding indicating parameters such as typesof precipitation (rain, hail, sleet, snow) including precipitationintensity from blended precipitation tile layers, and accumulated waterat every location on the map. The displayed accumulation can includereal time, retrospect, and forecast accumulation. The map display caninclude fog, temperature, and humidity maps, precipitation intensityestimates, satellite data, and radar data.

Referring now to FIG. 15, a first exemplary illustrative graphic userinterface (1000) of the HyperCast program (890) is shown. The userinterface includes an overview map display (1110) of a user-selectablegeographical region which can be scrolled by a user to a desired maplocation, and zoomed in or out by a user to a desired degree of displayresolution. The overview map display initially displays one of: theuser's default location, the user's current GPS orlocator-technology-defined location, the last location the userselected, or another location selected on the map by the user.

FIG. 15 shows an exemplary timeline display element (1120), described indetail below, along with a plurality of points of interest, with twolocations of interest magnified for illustrative effect. A firstlocation of interest (1410) is a point represented by a flag icon, and asecond location of interest (1520) is represented by a flag icon anddefined by a location of interest, e.g. polygon surrounding an area ofinterest (1510). The exemplary overview map display also includes adetails display bar (1130) that displays additional user-selectedweather data corresponding to a location of interest at the time of thecurrent selected time slot on the timeline element. One or more of theweather parameters, or information derived from the weather parameterslisted in Table 4, can be configured to display in the details displaybar (1130).

In an alternative embodiment (not shown), in addition to specifyinglocations of interest with a flag or a polygon, the user may enter anamed place such as AT&T Stadium, a well-known place such as an airport,for example, Manchester Airport (MHT) in New Hampshire, a town name, astreet address, geographic latitude/longitude (point or polygoncorners), establishment name, or a previously stored locationspecification, and the system will determine the point(s) and/orpolygon(s) associated with the identified location or locations. Onceselected, the user may save, restore, and edit these locationdefinitions using the HyperCast user interface (1000).

The user interface further permits a user to specify one or more dataparameters to be displayed on the overview map or to be displayedassociated with one or more specific location(s) of interest. Anycadence instance tile layer or set of cadence instances may be accessedby the HyperCast program (890).

In some embodiments, the user may use the user interface to define oneor more additional layers of information that may be displayed, whichmay further configure aspects of the cadence instance and modelling andforecast server in order to cause the service to generate additionaloptional tile layers as part of pre- and post-processing stageoperations.

6.3.6.2 Parameter Data Visualization and Display

When selecting one or more weather parameter data, the user may furtherselect the manner in which the data is displayed from a list ofpreconfigured visualization and display techniques or they may configurethe system to create a custom display element. The user may select fromone or more of these preconfigured display techniques such as agraphical map overlay, as an icon, a bar graph, or other datarepresentation. Additionally, any of these techniques may be colorizedin accordance to the magnitude of the displayed value(s) or to thevalue's relationship to a predefined threshold. In some embodiments, alookup table of parameter values to display colors may be used todetermine the colors to be displayed.

Some data parameters are displayed on the map itself, either directlyintegrated as part of the map, or a map layer that is integrated withthe map by the user interface. This technique is particularlyappropriate for parameters that are not selected for a particularlocation of interest. Traditional map layers include cloud and satelliteimage data, or forecast data over a large area. With this method, acadence instance tile layer is associated with the map and the tile datais directly displayed on the map. A second example is the mapping of acadence instance tile layer to the map display where the data istransformed for visual representation. These techniques are particularlyuseful for parameters that comprise an entire cadence instance tilelayer (e.g. are not selected for location of interest).

One example transform is the colorization of the data in respect to itsdata values. For example, each tile of a tile layer being mapped may bedisplayed as a color in accordance to its value, for example, aprecipitation intensity of 0.0-0.1 in./hr. may be colored light green,0.1-0.2 in./hr. can be colored dark green, 0.2-0.3 in./hr. coloredyellow, 0.4-0.4 in./hr. colored orange, and a precipitation intensity of0.4 and greater in./hr. is colored red.

In some exemplary embodiments, the user may select to display theselected weather parameter data as a pictogram which represents specificweather data. In the simplest form, the selected weather data istransformed to a particular pictogram image based upon its value. Forexample, precipitation type may be translated to a pictogram of theprecipitation type (for example, a snow precipitation type isrepresented as a snowflake pictogram). A lookup table of permittedvalues to pictograms is used to map parameter values to the pictogramsdisplayed. An example of this is illustrated as element (1128) of FIG.16.

In other exemplary embodiments, an icon may be constructed as a bargraph made up of stacked blocks, each stacked block representing amagnitude value of a configured parameter. For example, one bar canrepresent precipitation intensity of 0.0-0.1 in./hr., 2 bars canrepresent 0.1-0.2 in./hr., 3 bars 0.2-0.3 in./hr., 4 bars 0.4-0.4in./hr. and 5 bars can represent a precipitation intensity of 0.4 andgreater in./hr. An example of this technique is illustrated as element1124 of FIG. 16.

Other well-known information visualization techniques may be used in theconstruction of display icons in order to represent the configuredparameter data as is understood in the art.

If an area-based location of interest is selected that is mapped to aplurality of tiles in a cadence instance tile layer, and the datarepresentation is a single point or value, the weather parameter data isaggregated to a single value that can be displayed (or translated fordisplay as described above). Multiple tiles in a single layer (and/ormultiple tiles across layers) may be aggregated, for example, byaveraging or selecting a maximum or minimum value from the tiles, or bysumming the tile values. Thus, a location of interest may be representedby a maximum of the forecast precipitation rate, while a temperature maybe represented by either the average of all of the forecasttemperatures, and the accumulated precipitation is the precipitationintensity*the length of time associated with each aggregated tile layer(thus, if the cadence interval is 15 minutes, the accumulatedprecipitation amount for a tile is the precipitation intensity (inmm/hr)*0.25 hrs. Similarly, weather parameter data may be aggregatedacross a set of tile layers representing the same location of interestat different times.

For example, referring to the cadences described in FIG. 5, if the mostrecent cadence instance is M₂ and a user selects a total precipitationaccumulation including 40 minutes in the future and 20 minutes in thepast, data manager (820 of FIG. 14) retrieves precipitation estimatesfrom M₀F₀, M₁F₀, M₂F₀, and from M₂F₁, and M₂F₂ forecast data. For eachtime slot, the system calculates a precipitation accumulation bymultiplying each retrieved precipitation intensity by a correspondingtime slot interval. If the time slot crosses one or more cadenceinstance tile layers (either across forecast cycle tile layers, oracross cadence instances), the accumulation process calculates a totalbased upon the time-proportional weight of the data for each cadenceinstance. Thus, if a time slot is 25 minutes starting at T+10 minutes,and cadences are 15 minutes long, the calculation would use 5minutes*the precipitation intensity from a first cadence tile layer, 10minutes*the precipitation intensity from a second cadence instance'stile layer, and 10 minutes*the precipitation intensity from a thirdcadence instance's tile layer. The system then adds together theprecipitation accumulations from each time slot to determine a totalprecipitation accumulation.

A combination of these techniques may also be used, for example, toproduce bar graph icons that are also colorized on the basis of the datarepresented (or on the basis of other, related data).

When an area-based location of interest is selected, the displayedparameter data includes the most severe precipitation within the polygon(strongest intensity and type) and the average for the rest of theparameters (temperature, humidity, etc.).

The exemplary overview interface also includes a timeline displayelement (1120) that permits the user to select time-based aspects of theuser interface. The timeline display element is shown in more detail inFIG. 16.

The timeline display element (1120) displays a time-ordered set ofuser-configured weather parameter representations corresponding to thecurrently selected location of interest. Each position in the orderedset is called a time slot. The timeline display element permits the userto interact with it to select a time slot. Each time slot corresponds toa point in time, for which it displays one or more representations ofuser-configured weather parameters. Time slots may be configured toinclude one or more types of parameter data and presentation mechanisms.

In an exemplary embodiment, a set of user-configured weather parameterrepresentations are arranged plotted on a Y axis, one set of parameterrepresentations per time slot, and the time slots are plotted inascending time order along an X axis. Each time slot on the X axisrepresents a unit of time represented by the icons arranged on the Yaxis. Other arrangements may be considered without deviating from theintent of the interface.

In a particular exemplary embodiment illustrated in FIG. 16, each timeslot is configured to have two parameter representations arrangedvertically, a precipitation type pictogram 1128), and a stacked bargraph of precipitation intensity (1124). Each time slot can be coloredto represent time, for example red representing current time, orangerepresenting a historic time point, and purple representing a futuretime point. In another example, each time slot can be colored torepresent a precipitation type, category or intensity

The timeline display element (1120) may further include a time selectionelement (1122). This time selection element (1122) may be any knownselection mechanism, ranging from a UI “click”, a slider, or a checkbox. In the example embodiment depicted in FIG. 16, the selectionelement used is a slider. The time selection component is used to selecta point in time for which to display weather parameter data. Theselected point in time corresponding to the selected time slot isassociated with one or more cadence instance(s) and the selected weatherparameter(s) are obtained from one of the system databases correspondingto the tile layers of those cadence instances and is displayed in theuser interface. When the time selection component changes the selectionfrom a first time slot to a second time slot, the weather displayelements, such as the overview map and detail display bar are updated tochange the currently displayed weather parameter data to new weatherparameter data corresponding to the newly selected time slot.

The timeline display element (1120) also includes an optional playbutton (1126). When the play button is selected, the systemautomatically sequentially selects each time slot of the selected timerange. This has the effect of displaying the weather parameter data foreach of the sequentially selected time slot in succession. The systemmay use well known graphical techniques to smoothly “morph” subsequentsets of parameter data.

The time slots presented on the timeline are user-configurable, bothwith respect to the presentation method (e.g. bar graph, pictogram) andto the parameters being represented. The user-configurable icons canrepresent any parameter available in a cadence instance, andspecifically may include a mix of real time, historic, and forecast dataassociated with a selected timeframe and location.

In an exemplary method of configuring the timeline, a user selects theone or more weather parameters to be displayed on the time line from alist of weather parameters present in one or more associated cadenceinstances, and any of the visualization techniques described above. Forexample, a user can select, for display on the timeline, a weatherparameter such as precipitation rate, precipitation type, or evenextended weather parameter fields generated by collection and forecastextensions. The user may further select the desired displayrepresentation, including, for example, stacked bar graphs, pictograms,and colorized versions of these representations.

A user can also select a temporal zoom level (e.g. temporal displayrange) for display on the timeline display element (1120). For example,a user can select a temporal display range that includes data covering atime period spanning 6 hours in the past and 6 hours in the future froma specified point in time. The specified point in time defaults to thecurrent time, but may be set by the user to any desired time. The usermay configure the display to select a different time period, forexample, +/−3 hour or +/−90 minutes. Alternatively, a user can select anasymmetric time display, for example 3 hours in the past and 6 hours inthe future or 90 minutes in the past and 180 minutes in the future. Thetime limits of the display range selected by the user are associatedwith a starting and ending cadence instance.

The temporal display range defines the amount of time each slot on thetimeline display element represents. For example, if a user selects atemporal zoom level of +/−90 minutes, each time slot represents anaverage of 3.6 minutes, an average of 7.2 minutes if a user selects atemporal zoom level of +/−3 hours, and an average of 14.4 minutes if auser selects a temporal zoom level of +/−6 hours.

If the time slot temporal range does not align precisely to the cadenceinstance tile stack time intervals, the presented data corresponding tothe tile stacks spanned by the time slot temporal range is taken andcombined to produce the presented parameter value. This combination maybe performed, for example, by selecting min/max values across thecorresponding tile stacks, averaging or weighted averaging the parametervalues from the corresponding tile stacks, or by summing or weightedsumming the parameter values from the corresponding tile stacks.

Referring now to FIG. 17, the figure illustrates how a user can specifya start time slot (1610) and an end time slot (1620) on the timeline inorder to calculate an accumulated weather parameter. Using thetimestamps of the start and end points selected, the system calculatesthe accumulated weather parameter data as described above. Theaccumulated precipitation is displayed in any location that any otherweather parameter may be displayed.

The HyperCast program (890) includes an alerts and notifications modulewhich allows a user to define and enable alerts corresponding to one ormore selected locations. A user can create an alert by selecting one ormore locations of interest and creating an alert rule that includesconditions that will trigger the alert. An alert rule can include one ormore weather parameters and one or more threshold values that whenreached will trigger the alert and a resultant notification to the user.An accumulation alert can include, for example, a specification of athreshold magnitude of snow accumulation or total water accumulation ata location of interest. The accumulation alert will be triggered whenthe total accumulation at a selected location exceeds the thresholdamount. When the alert is triggered one or more notification actions,examples of which are listed in Table 9, are initiated. An alert can beconfigured to notify a user that a threshold is forecast to be reachedor exceeded before the specified threshold is reached. For example, analert can be configured to notify a user that, based on forecast data, athreshold will be crossed in one, two, or three hours. Alerts can bedisplayed on a HyperCast display and can be sent to a user using amessage delivery format such as SMS or email.

TABLE 9 Alert Notifications Notification action Notes Notification emailCan include email to a specified individual or group and a broadcastemail to multiple recipients Notification SMS Can include SMS to aspecified individual or group and a broadcast SMS to multiple recipientsDisplay on User Notification can be displayed at a location of Interfaceinterest on or over a map (1110), on details display bar (1130), in apopup window (not shown), or on a timeline display element (1120)Execute a specified program or report generation Perform a userspecified action

If a user creates an alert, the information distribution and alertingserver (370) initiates a monitoring function that retrieves parametervalues defined by the alert and periodically checks parameter valuesagainst thresholds and conditional statements defined by the alert. Ifthe information distribution and alerting server (370) determines acondition for triggering an alert, the information distribution andalerting server (370) issues a notification to a notified entity such asa user or service (e.g. airport, shipping service, emergency service,smart city planning service) defined by the alert.

The HyperCast program (890) includes a My Places Dashboard display(2000), as depicted in FIG. 18, which can be configured to displayindividual mini status windows (1710, 1720, 1730, and 1740) for each ofor for a subset of selected locations of interest. Each mini statuswindow corresponds to a user-selected single location of interest(1711). The user can select weather parameters determining the type ofdisplay, as depicted in (1712) such as, for example, accumulatedprecipitation or precipitation intensity. A mini status window includesa display of numerical values of measurement data for user selectedweather parameters (1713) such as, for example, forecast precipitationintensity. The mini status window includes a plot of the selectedweather parameter magnitude on a timeline (1714). A user can configurethe weather parameters of the timeline (1718) such as, for example,whether the display depicts 60 minutes, 3 hours, or 6 hours of thetimeline. The mini status window includes display of additional weatherparameters as numerical data and/or represented by graphic icons (1715)such as, for example, temperature, humidity, wind speed, barometricpressure, etc. The mini status window includes a display of alerts(1716) and National Weather Service Warnings (1717) corresponding to oneor more locations of interest.

As mentioned above, the HyperCast program (890) interfaces to anapplication program interface (API) (835) which is configured to enablea user to request and receive weather parameter data, such as forexample precipitation intensity data, in raw numerical, non-visualized,format. Data can include historic data based to an earliest point intime stored in a system database (320), real-time (e.g. currentcollection data), and forecast data. A user can use the API (835) torequest, for example, data files that include historic and forecastprecipitation accumulation data for a specified location of interest.The data can be used in external applications and integrated into otherdatasets. The API (835) enables users to “call” the informationdistribution and alerting server (370) of the disclosed technology andask for specific data outputs according to their needs. The API (835)formats the retrieved data using a default format or a format specifiedby an API data request, for example in a CSV or XML format, and deliversthe data to the requesting user or to another entity that may bespecified by the request.

6.3.7 Microwave Link Data Processing

FIGS. 19A and 19B are high level process flowcharts for an exemplaryinformation flow through the system. Microwave link data obtained fromterrestrial wireless network data sources (340 a, 340 b) andweather-related data obtained from other sources such as a weather radardata source (344), ground weather data source (346), and NWP data source(341) are processed differently. FIGS. 19A and 19B illustrate howinformation can come into the system from different sources, go throughdifferent handling processes, and then be combined as part of a model inorder to produce one or more information sets.

Microwave link data is acquired by the Information Collection andNormalization Server (310) from at least one Terrestrial WirelessNetwork data source (340 a, 340 b) (step 9005). Microwave link data caninclude point-to-point microwave link data, as described in section6.4.1, and static and dynamic link data, as described in section 6.4.2.There can be a plurality of Terrestrial Wireless Network data sources,each providing information asynchronously to the system. The microwavelink data is aggregated and stored (step 9010). into a database as partof the data collection process The processes are described in Section6.4, 6.4.1, 6.4.2 and for FIGS. 20, 21, and 22.

The resulting set of microwave link data is processed by the InformationCollection and Normalization Server (310), where the information isnormalized, error checked, and made available to the system (step 9015).The processes are described in Section 6.4.1, FIG. 21 and Section 6.4.2,FIG. 22.

The resulting “clean” microwave link data from step 9015 is then furtherprocessed by the Offline/Background Processing Server (330) through thesteps of Resolution Analysis (step 9025), Accuracy Analysis (step 9030)(as described in section 6.5.1.1 and 6.3.4), and production of aCoverage Map (step 9035) (as described in Section 6.5.1.2 and 6.6).

The resulting data from steps 9025, 9030, and 9035 is saved to thesystem database 320 (as described in Section 4.5) and made available foruse by the Real Time Mapping process of the Modeling and PredictionServer (360) (step 9040). The microwave link data is furtherpre-processed to make it ready for mapping (step 9045). The microwavelink data is then calibrated (step 9080), and used to produce a 2D map(for microwave links only) (step 9085).

The real-time mapping process of the Modeling and Prediction Server(360) may also produce an integrated 3D map (step 9075) using both thepre-processed results from steps 9045, 9060, and the 2D map of microwavelinks produced in step 9085. The 2D Map Link data (step 9085) and theIntegrated 3D Map data (step 9075) are made available for furtherprocessing by storing them in the system database (step 9090).

The 2D Map Link data (step 9085) is also made available for use by theNowcasting process (step 9095) (described in sections 6.7, 6.7.1; FIG.34) of the Modeling and Prediction Server (360), where the data is usedto produce the Nowcasting Model (step 9096). The Nowcasting Modelresults (step 9096) are also made available for further use anddistribution by storing the calculated model data in the system database(step 9097) (as described in Section 4.3.3, FIG. 13). The InformationDistribution and Alerting Server (370) uses the results of steps 9090and 9097 by obtaining the current data from the system database andusing that information to produce one or more data outputs (380) (step9099), e.g., used in one or more Forecast-Based Information Products.

Weather Data Process

Weather data, including sensor and radar information, is obtained by theInformation Collection and Normalization Server (310) from one or moredata sources (step 9050) (as described in sections 6.4.3 and 6.4.4,FIGS. 23 and 24). The collected data is then cleaned to remove erroneousvalues, aggregated and stored in the system database (320) using datatype dependent processes (step 9055) (also as described in sections6.4.3 and 6.4.4, FIGS. 23 and 24), and the resulting information isfurther error checked, adjusted (e.g. zero-level adjustments) andenhanced by the Offline/Background Processing Server (330), and madeavailable to the system by saving the adjusted data into the systemdatabase (step 9060) (as described in Section 6.3.2, FIG. 12).

The resulting data is thus made available for use by the Nowcastingprocess (step 9065) (as described in sections 6.7 and 6.7.1, FIG. 34)and the Real-Time Mapping process (step 9070).

6.4 Information Collection and Preprocessing Processes

Referring to FIG. 20, an exemplary method (10000) for receiving,pre-processing, and storing data begins with a collection programreceiving data (10010) from a data source. The information collectionand normalization server (310) receives data from multiple sources,including point-to-point and cellular microwave link measurement datafrom Terrestrial Wireless Network data sources (340), data from weatherradar data sources (344), topographical map data from map data source(348), ground weather data sources (346), and other data sourcesincluding a map data source (348). The information collection andnormalization server (310) programs pre-process the received data,adding missing information from reference information stored in thesystem databases, and performing calculations that augment the collectedinformation with additional data derived from the collected data (e.g.link endpoint and length data) and then stores the pre-processed data inone or more databases, for example in one or more of system databases(320).

The information collection and normalization server (310) maintainsmicrowave link data from each data source and can receive data from eachsource continuously or periodically by one or more methods by collectingand pre-processing the information asynchronously from the primaryforecasting calculations. For example, the information collection andnormalization server (310) receives a data file containing measurementdata from a data source using a push service wherein the data sourcesends data periodically or when a threshold amount of data has beencollected. Alternatively or in addition to receiving pushed data, theinformation collection and normalization server (310) issues a pullcommand to a data source, for example periodically or when measurementdata is required and receive a data file from the data source inresponse to the pull command. In another example, the informationcollection and normalization server (310) receives, from a data source,a notification that a file containing data is ready or a notificationthat data has changed and, in response, issues a pull command toretrieve the data. In a further example, the information collection andnormalization server (310) includes or has access to an applicationprogramming interface (API (835)) that enables the informationcollection and normalization server (310) to interact with and receivedata from a data source.

Data received by the information collection and normalization server(310) from data sources includes measurement data, for example,microwave or radio frequency send and receive signal strength data,weather radar data, rain gauge measurement data, etc. Data received bythe information collection and normalization server (310) can furtherinclude ancillary data and metadata such as, for example, data sourcelocation, signal polarization, etc. useful for pre-processingmeasurement data, as will be discussed in further detail below. Theinformation collection and normalization server (310) can employ aplurality of methods to receive data from data sources, for a filecontaining measurement is received from a data source using a pushserver and the information collection and normalization server (310)issues a pull command to retrieve ancillary data from the data source.

The information collection and normalization server (310) parses (10020)received data in order to extract measurement data, metadata, andancillary data. Parsed data from multiple data suppliers, for examplewireless link data from two or more Terrestrial Wireless Network datasources (e.g., 340 a, 340 b), is assigned to the current cadenceinstance Mi (10030). Data received from multiple sources may be sampledat different periodicity. All data collected from a source within acadence collection interval of a cadence instance Mi is assigned to thecadence instance and stored with other data of the same type collectedduring the collection interval.

In an exemplary implementation of standardization, the informationcollection and normalization server (310) collects information from afirst Terrestrial Wireless Network data source that saves the data every1 min and a second Terrestrial Wireless Network data source that savesthe data every 5 mins. If a collection interval equals 10 minutes, acadence instance Mi will collect up to 10 data sets from the firstTerrestrial Wireless Network data source and up to 2 data sets from thesecond Terrestrial Wireless Network data source. At the end of thecollection interval, the information collection and normalization server(310) standardizes measurement data from the two Terrestrial WirelessNetwork data sources to the length of the collection interval. At step(10032), collected data is stored to as raw data to one or more systemdatabases (320) of appropriate type for the data being stored.

An information collection and normalization server (310) performspre-processing (10035) of raw data, including associating ancillary andmetadata with measurement data and performs calculations to determineadditional ancillary data. For example, microwave link endpointlocations and link length data can be retrieved (if previouslycalculated) or calculated by the program based upon collected link data,and the retrieved or calculated information associated with measuredlink data prior to storing in the system database. Pre-processing(10035) can also include further data normalization such as reconcilingdisparate data reporting formats from different data providers. Forexample a first data supplier reports measurement data as a calculatedaverage value over a time period, a second data supplier reports minimumand maximum values over the time period, and a third data providerreports instantaneous measurement values that are recorded periodicallyover the time period. At step (10040), the information collection andnormalization server (310) stores parsed, standardized, andpre-processed data to one or more system databases (320) of appropriatetype for the data being stored.

The information collection and normalization server (310) optionallyperforms additional pre-processing calculations on data to adjust theretrieved data to account for baseline conditions (10050). For example,pre-computed baseline adjustments related to microwave link attenuationmay be applied to the collected microwave link data prior to storing inthe system database.

The above general process differs slightly depending upon whether themicrowave links are part of a point-to-point microwave network (which ischaracterized by having all of its microwave links having location-fixedendpoints, sometimes called backhaul networks), or if the microwavelinks are between an eNB and user equipment (UE) of a cellular wirelessnetwork, which is characterized having microwave links for which atleast one endpoint is not static (e.g. the endpoint is mobile). At step(10050) preprocessed and baselined data is stored as processed data toone or more system databases (320) of appropriate type for the databeing stored.

6.4.1 Point-to-Point Microwave Link Data Collection Process

FIG. 21 illustrates an exemplary method (11000) for receiving andstoring point-to-point microwave link data from Terrestrial WirelessNetwork data sources (340 a, 340 b). Information collection andnormalization server (310) receives data which include point-to-pointmicrowave link data (11010) from multiple point-to-point microwavelinks. Alternatively, the information collection and normalizationserver (310) can receive continuously updated reports of microwave linkmeasurements. In some embodiments, the information collection andnormalization server (310) may receive reports that include link statuschanges and wireless network topology changes, or may receive reportsthat include aggregate measurements over a period of time, for exampleover 15 minute, 30 minute, or one hour intervals. Data is typicallyreceived as a CSV file from each Terrestrial Wireless Network Datasource. Received data includes TSL and RSL measurements for each of themultiple microwave links. These microwave links represent point-to-pointmicrowave links that are not managed by an eNB, such as, for example,the point-to-point microwave link of wireless network (200) shown inFIG. 2 (links 220 a-b, 220 b-a, 220 b-c, 220 a-c, 282 a, 282 b, and 282c).

Microwave data collection program (510 a or 510 b) parses (11020)received data to extract TSL and RSL measurement data, metadata, andancillary data. Parsed data includes at least TSL and RSL measurementsindexed with link endpoint identification. Parsed data from TerrestrialWireless Network data sources (e.g., 340 a, 340 b) is then associatedwith the current cadence instance Mi (11030), as previously discussed.Parsed microwave link data is stored as point-to-point microwave linkraw attenuation data (520) in point-to-point microwave link attenuationdatabase (321)

Received data is pre-processed (11035) by point-to-point microwave linkattenuation data processing program (610) to produce pre-processedmicrowave link data to associate the measurement data with any missingmetadata and/or ancillary data including antenna mast IDs, antenna IDs,antenna mast locations including latitude and longitude, and microwavesignal transmit frequency, bandwidth, and polarization. Duringpre-processing, any required ancillary data or metadata that was notincluded in data received from Terrestrial Wireless Network data sources(340 a, 340 b) is requested from the providers by the informationcollection and normalization server (310), or is obtained from one ormore system databases (320). During pre-processing (11035),point-to-point microwave link attenuation data processing program (610)calculates any missing link lengths using tower location information andassociates the calculated link lengths with link measurement data.Point-to-point microwave link attenuation data processing program (610)also normalizes measurement data to reconcile disparate TSL and RSLmeasurement reporting formats used by the data suppliers, as previouslydiscussed.

At step (11040) the received data is also error checked bypoint-to-point microwave link attenuation data processing program (610)to remove invalid or inconsistent information, and to filter linkinformation that is not usable in subsequent processing. For example,point-to-point microwave link attenuation data processing program (610)retrieves point-to-point microwave link frequency filter from thetransform and filter database (393) and uses the filter to filter outmeasurements from links that are transmitting on a frequency channelthat is not a microwave channel, for example the point-to-pointmicrowave link frequency filter is used to filter out links that use atransmit frequency less than 5 GHz. The received link data is checkedfor received signal strength being below a specified threshold, and ifthe received link data is below this threshold, the received link datais discarded. Point-to-point microwave link attenuation data processingprogram (610) retrieves point-to-point microwave link received signalstrength filter from the transform and filter database (393) and usesthe filter to filter out measurements with RSL measurements below aspecified signal strength. This filter removes inactive links and linksfor which the signal strength was not properly measured. In anotherexample, missing data or data including received signal strength belowthe specified threshold can be replaced with historical data. Anexpiration time period is associated with historical data and data thatis older than a specified time interval, for example, data that is olderthan 5 minutes or data that is older than ten minutes, is consideredexpired and is not used to substitute missing data.

Point-to-point microwave link attenuation data processing program (610)optionally performs additional pre-processing to isolate non-baselineattenuation in link measurement data. At step (11050) point-to-pointmicrowave link attenuation data processing program (610) loads apoint-to-point microwave link baseline transform associated with eachlink and precomputed by Offline/background processing server (330), asdescribed in section 6.3.2. Point-to-point microwave link attenuationdata processing program (610) then adjusts each link's measuredattenuation by this baseline value (11060) to determine non-baselineattenuation which is a measure of attenuation caused by precipitation orother interference. Non-baseline attenuation link data is compared to anattenuation threshold and non-baseline attenuation data is below thisattenuation threshold, the received link data is discarded. Thepoint-to-point microwave link baseline transform removes inactive linkswith insufficient attenuation to be useful for predicting precipitationintensity values. Filtered and transformed data is stored aspoint-to-point microwave link processed attenuation data (620) inpoint-to-point microwave link attenuation database (321).

The parsed and pre-processed microwave link data and associated metadataand ancillary data are stored (11060) by point-to-point microwave linkattenuation data processing program (610) to a database such aspoint-to-point microwave link attenuation database (321). Networktopology information can be stored in point-to-point microwave linktopology database (357).

6.4.2 Cellular Microwave Link Data Provider Data Collection Process

FIG. 22 illustrates an exemplary method (12000) for receiving andstoring cellular microwave link measurement data from cellularTerrestrial Wireless Network data sources (e.g. 340 a, 340 b). Microwavedata collection program (510 a, or 510 b) receives cellular networkdynamic microwave link data (12010) which can include batch informationprovided as one or more data files, streaming wireless link information,or other forms of continuously or periodically updated link measurementdata. Unlike the point-to-point microwave links described in FIG. 22,the wireless links of a cellular Terrestrial Wireless Network typicallydo not have both link endpoints fixed geographically, which means thatboth the link length and associated length-based baseline attenuationare not known and must be computed for each data sample with usefulattenuation data. Link lengths and baseline attenuation can becalculated by offline/background processing server (330) after filteringout non-useful measurements or, alternatively, as described in section6.6.1, below, link length and other link characteristics for many commonlink endpoints can be precomputed, saved to a transform, which isapplied to UEs located near the common link endpoints. Data is typicallyreceived as a CSV file from each Terrestrial Wireless Network Datasource. The received data each include one or more reports of datacollected about a wireless radio network (e.g. 200) which can includemeasurements corresponding to data and non-data signaling within thenetwork and measurements of non-network signals. Received data caninclude signal strength measurement such as reference signal receivedstrength (RSRP) measurements made by user equipment (UE) devices.Measurement data can also include RSSI measurements made by UEs and basestations (210 a, 210 b, 210 c). RSRP and RSSI measurements can eachcorrespond to an active cellular microwave link (240 a-240 h, 255 a, and255 b). RSRP measurement can include measurements made by UEs ofreference signals from non-serving eNB antennas and from serving eNBantennas when an active data link is not in place between the UE and theserving antenna of the eNB.

Microwave data collection program (510 a or 510 b) parses (12020) thereceived data to extract measurement data including RSRP and RSSImeasurements, metadata, and ancillary data. The parsed data includes atleast RSRP and RSSI measurements indexed with link endpoints (e.g. aspecific eNB antenna and a UE identifier). Parsed data from TerrestrialWireless Network data sources (e.g., 340 a, 340 b) is associated withthe current cadence instance Mi (12030), as previously discussed, andstored as cellular network raw attenuation data (524) in cellularnetwork link attenuation database (351).

The cellular link raw attenuation data (524) is then pre-processed(12035) by cellular link attenuation data processing program (614) toassociate the measurement data with any missing metadata and ancillarydata. Metadata and ancillary data related to antennas, antenna masts(210 a, 210 b, 210 c), and eNBs includes eNB IDs, antenna IDs, antennamast locations including latitude and longitude and antenna height, andreference and data signal transmit parameters including antennaconfiguration, signal strength, frequency, bandwidth, and modulation.Metadata and ancillary data related to UEs includes device ID, location,for example GPS coordinates, associated with each measurement ortransmission data point, and transmit parameters including signalstrength, frequency, and bandwidth. Data associated with UEs can alsoinclude location-related details such as indoors versus outdoors, urbanversus rural setting, ground cover, proximity to water bodies, andheight. During pre-processing, any required ancillary data or metadatathat was not included in data received by the information collection andnormalization server (310) is retrieved, either by separately queryingthe data source, or by looking the missing data up in a system database.

During pre-processing (12035), cellular link attenuation data processingprogram (614) calculates link lengths using tower and UE location attime of measurement and associates the calculated link lengths with linkmeasurement data. UE location information can be calculated or refinedusing known techniques such as triangulation using signaling between theUE and multiple eNB antennas, or by obtaining the GPS coordinates of theUE. An alternative method for estimating UE location and linkcharacteristics by mapping cellular links to pre-calculated pro-formalinks is described in section 6.6.1, below.

Cellular link attenuation data processing program (614) also normalizesmeasurement data to reconcile disparate RSSI and RSRP measurementreporting formats used by the data suppliers, as previously discussed.For example, in LTE networking RSRP measurement data is reported as aninteger value representing a range of measurement values (e.g.1=−140<=RSRP<−139) which the information collection and normalizationserver (310) updates with dB signal level values for use in subsequentcalculations.

At step (12040) the received data is also error checked to removeinvalid or inconsistent information, and to filter link information thatis not usable in subsequent processing. Cellular link attenuation dataprocessing program (614) retrieves cellular network frequency filter andused the frequency filter to compare the wireless frequency of each linkis compared against a pre-determined threshold, and if the link'sfrequency is below that specified threshold, the link information isdiscarded. The threshold is typically one of 1 GHz, 2.5 Ghz, or 5 GHz,but may be chosen to be any value desired. This removes eNB to UE linksthat use wireless frequencies that are not attenuated by weatherconditions (and are thus not useful). The removal of these non-usefullinks reduces the computing complexity in subsequent modeling steps.

In another example, cellular link attenuation data processing program(614) retrieves cellular network received signal strength filter anduses the filter to filter out measurement data with attenuation datamagnitude below a specified threshold. If the received link data isbelow this threshold, the received link data is discarded. This filterremoves inactive links and links for which the signal strength was notproperly measured.

Missing data or data including received signal strength below thespecified threshold can be replaced with historical data. An expirationtime period is associated with historical data and data that is olderthan a specified time interval, for example data that is older than fiveminutes or data that is older than ten minutes, is considered expiredand is not used to substitute missing data.

The received data can be further processed to categorize links based onlink properties including polarization, indoor versus outdoor location,terrain shape of propagation, multipath environment, line of sight (LOS)versus non-line of sight (n-LOS), and speed of movement of the link orlink endpoint relative to speed of movement of a storm system. Linkinformation from links that may not be attenuated by weather or thathave attenuation characteristics that could mask weather-causedattenuation are discarded.

Cellular link attenuation data processing program (614) optionallyperforms additional pre-processing to isolate non-baseline attenuationin measurement data or to calculate precipitation attenuation. Cellularlink attenuation data processing program (614) loads cellular networkbaseline transform associated with each link and precomputed byOffline/background processing server (330), as described in section6.3.2. Cellular link attenuation data processing program (614) thenadjusts each link's measured attenuation by this baseline value (12050)to determine non-baseline attenuation which is a measure of attenuationcaused by precipitation or other interference. Non-baseline attenuationlink data is compared to an attenuation threshold and non-baselineattenuation data is below this attenuation threshold, the received linkdata is discarded. This filter removes inactive links with insufficientattenuation to be useful for predicting precipitation intensity.

The parsed and pre-processed cellular link data and associated metadataand ancillary data are then stored (12060) as cellular network processedattenuation data (624) to a database such as cellular network linkattenuation database (351). Cellular network topology information can bestored separately in cellular network link topology database (358 ofTable 8).

6.4.3 Weather Radar Data Collection Process

FIG. 23 illustrates an exemplary method (13000) for receiving andstoring weather radar data. Radar data collection program (512) receivesweather radar data (13010) from one or more weather radar data sources(344).

Radar data collection program (512) parses (13020) received data filesto extract measurement data. Parsed data is dependent on the weatherradar data product. For example, radar data collection program (512)parses reflectivity data to obtain reflectivity readings at discretelocation points, for example at discrete longitude and latitudecoordinates or at discrete grid points determined by the system. Radardata collection program (512) parses other weather radar data sets toobtain location indexed wind measurements and precipitation estimates.At step (13030), parsed data is associated with the current cadenceinstance Mi and stored as radar raw data (521) in radar database (322).

Data is pre-processed (13035) by radar data processing program (611) toassociate the measurement data with metadata and ancillary data.Metadata and ancillary data related to weather radar includes radarstation IDs, radar station locations including latitude and longitude,and reference and radar operational parameters such as information onsynchronization, calibration, date, time, antenna position, Nyquistvelocity, and operational mode. During pre-processing, any requiredancillary data or metadata that was not included in data files receivedby information collection and normalization server (310) is retrieved.During pre-processing (13035), the information collection andnormalization server (310) calculates additional ancillary data such asdistance of data point location from radar and data point locationaltitude, which can be determined based on beam angle and distance fromradar.

At step (13040) radar data processing program (611) applies one or moreradar transforms to the radar raw data (521) to extract ground leveldata, for example by selecting data from a lowest radar beam angle, tomap the radar data from polar coordinates to Cartesian coordinates andto map data to tiles of a radar data tile layer of M_(i) collectionstack.

Radar data processing program (611) optionally performs additionalpre-processing to acquire and process data useful for determininginformation that could affect the accuracy (13050) of precipitationestimated from the radar data. For example, reflectivity readings can beaffected by material through which a radar signal travels, includingthrough precipitation, vegetation, and structures. Radar data processingprogram (611) can determine, for each location, factors that can affectreflectivity measurements such as, for example, a distance traveledthrough intervening precipitation or other partially obstructivematerial. Information that can affect accuracy is associated withmeasurement locations and the information and association is stored inthe radar characteristics database (392).

Parsed and pre-processed weather radar data and associated metadata andancillary data are stored (13060) as radar processed data (621) to radardatabase (322).

6.4.4 Weather Satellite Data Collection Process

FIG. 24 illustrates an exemplary method (14000) for receiving andstoring weather satellite data. Satellite image data collection program(516) receives satellite data (14010) from one or more weather satellitesources.

Satellite image data collection program (516) parses (14020) receiveddata files to extract measurement data. Parsed data is dependent on theweather satellite data product from which the data is derived. Theinformation collection and normalization server (310) can, for example,employ dedicated programs to parse a NetCDF formatted satellite dataoutput file from a mapped image into a pixel-by-pixel ASCII text output.The information collection and normalization server (310) parses imageand data files containing, for example, IR, radar, microwave, or visibledata to obtain individual data readings at discrete location points, forexample at discrete longitude and latitude coordinates or at discretegrid points determined by the system. At step (14030), parsed data isassociated with the current cadence instance and stored to satelliteimage database (326) as satellite image raw data (527).

Data is pre-processed (14035) by satellite image data processing program(617) to associate the measurement data with metadata and ancillarydata. Metadata and ancillary data related to weather satellites includessatellite IDs, locations including latitude and longitude, orbitalheight, and satellite instrumentation operational. Duringpre-processing, any required ancillary data or metadata that was notincluded in data files received by the information collection andnormalization server (310) is retrieved.

At step (14040) satellite image data processing program (617) retrievessatellite image transform and uses it to transform weather satelliteimage and measurement data from satellite image and measurement data mapcoordinates to system-determined tiles including determining averaged orinterpolated grid point, cell, and tile data values from map locationvalues if grid resolution is lower or higher than map resolution.

Satellite image data processing program (617) optionally performsadditional pre-processing to acquire and process data useful fordetermining information that could affect the accuracy (14050) of theprecipitation estimates calculated using the satellite data. Forexample, reflectivity readings from satellite radar readings can beaffected by material through which a radar signal travels, includingthrough cloud cover and precipitation. Satellite image data processingprogram (617) can determine, for each location, factors that can affectreflectivity measurements such as, for example, a distance traveledthrough intervening clouds, precipitation, or other atmosphericconditions. Information that can affect accuracy is associated withmeasurement locations and stored to imaging satellite characteristicsdatabase (359 of Table 8).

Parsed and pre-processed weather satellite data and associated metadataand ancillary data are stored (14060) as satellite image processed data(627) in the satellite image database (326).

6.4.5 Map Data Collection Process

FIG. 25 illustrates an exemplary method (15000) for receiving andstoring map data. Map data collection program (517) receives (15010) mapfrom map data source (e.g. 348). Map data received by map datacollection program (517) includes elevation data as well as GIS andtopographic map data.

Map data collection program (517) parses (15020) received GIS,elevation, and topographic map files to extract data. Parsed dataincludes, for example, elevation, ground cover such as vegetation andvegetation types, water features, and building or other structures atmap coordinate locations, for example at specific latitude and longitudelocations. Parsed map data is stored as map raw data (528) in mapdatabase (880).

Data is pre-processed (15035) to associate the measurement data withmetadata and ancillary data. Metadata and ancillary data can includedata source and map or data creation, collection, or publication date.

Map data processing program (618) applies one or more transforms (15040)to transform data from map coordinates to system-determined tiles.Transformation can include interpolating map features to grid, cell, ortile features if map and grid, cell, or tile coordinate resolutions aredifferent. In addition, map data processing program (618) can processmap data to recognize features of interest such as airports and parkinglots, and add feature tags to map data that identify, for example, thetype, location, geographic boundaries, and surface area of recognizedfeatures of interest.

Parsed and pre-processed map data and associated metadata and ancillarydata are stored (15050) to a database such as map database (880).

6.4.6 Ground Station Data Collection Process

FIG. 26 illustrates an exemplary method (16000) for receiving andstoring ground station data. Ground weather data collection program(513) receives (16010) ground station data from ground weather datasource (346). Additionally, or alternatively, information ground weatherdata collection program (513) collects ground station data directly froma plurality of ground stations or from other ground station dataaggregation sources.

Ground weather data collection program (513) parses (16020) receivedground station data to extract rain gauge data and, optionally, otherdata typically collected by ground stations including temperaturemeasurements, atmospheric pressure data, humidity data, and wind speedand direction. At step (16030), parsed data is associated with thecurrent cadence instance and stored as ground weather station raw data(346) to ground weather station database (323).

Data is pre-processed (16035) by ground weather station data processingprogram (612) to associate the measurement data with metadata andancillary data such as weather station ID, measurement equipment, andcalibration or reliability records. Ground weather station dataprocessing program (612) translates weather station measurement units toa standard measurement units configured for all data collected by groundweather data collection program (513).

At step (16038), ground weather station data processing program (612)uses a ground weather data transform to transform data from groundweather station locations to system-derived tiles. Transforming the datato tiles can include interpolated location-specific measurement data totile locations. For example, a limited number of tile may each include aground station with a rain gauge located within the tile. Precipitationmeasurements for tiles that do not include a rain gauge located withinthe tile can be assumed to equal to the precipitation measured by thenearest rain gauge or can be approximated as a function, such as aweighted distance function, of the precipitation measurements by aplurality of surrounding rain gauges. Other weather gauge measurementvalues are similarly transformed to tile located measurements.

Parsed and pre-processed map data and associated metadata and ancillarydata are stored (16040) to ground weather station database (323).

6.4.7 Additional Data Collection Programs

The information collection and normalization server (310) can receiveand process data of types and from sources other than and in addition tothose included in the data collection methods and data sources describedin relation to FIGS. 20-26. For example, the information collection andnormalization server (310) can receive NWP data from an NWP data source(341). The NWP data includes current and forecast weather or atmosphericdata including wind speed and direction, precipitation intensity andprecipitation type, temperature, humidity, dew point, and visibilityestimates. NWP data collection program (515) parses NWP data and assignsit to the current cadence instance M_(i). NWP data processing program(616) pre-processes NWP data and stores the data in one or moredatabases, including NWP model atmospheric database (329).Pre-processing of NWP data can also include using a pre-calculatedtransform to transform data from NWP data coordinates tosystem-determined tile locations including determining averaged orinterpolated tile data values from NWP data coordinate values if tileresolution is different (either lower or higher) than the NWP datacoordinate resolution. NWP data processing program (616) can extractground level data from NWP data and store ground level NWP data in NWPmodel ground weather database (353).

6.5 Offline/Background Programs 6.5.1 Analysis Programs

Analysis programs are independent programs that process one or more setsof data (either cellular or point-to-point microwave links, radar data,and/or map data) in order to enhance the accuracy of the subsequentweather parameter modelling. These programs are executed on theoffline/background processing server (330) against information stored inthe system database (320) in order to adjust collected data. The resultsare stored back to the system database (320) when the analysis processesare complete.

6.5.1.1 Coverage Maps

Given the characteristics of the (combined sources) cellular andpoint-to-point microwave links (e.g., topology, frequencies, linklocations, polarization), the program identifies blind regions, whereprecipitation intensities below specific precipitation intensitiescannot be observed due to radar occultation. The coverage map programcreates a single coverage map per precipitation intensity value level,in which the areas of detectable precipitation at a specific intensityare identified (i.e. “for this network, this is our coverage for rainintensity at 5 mm/hour, and this is our coverage when the rain intensityis 10 mm/hour”).

This approach is different from previous approaches in which a certainshape and size for the rain-cell to be detected has been assumed, andthe coverage map is dependent on the chosen shape as well as on theprecipitation intensity value level to be detected. The present approachrelates to the given network and assumes nothing about the rain-cellstructure.

The system then creates a coverage map in a three stage process:

Stage 1—Define the Map Area

(a) Sort all participating sites according to geographical locations(longitude/latitude on a UTM grid).

(b) Choose the antenna mast located furthest to the north and to thewest (mast 1). Choose the antenna mast located furthest to the south andto the east (mast 2). Map borders will be constructed by finding themost Northern western and Northern eastern antennas, and then findingthe most Southern western and Southern eastern antennas.

(c) Define a rectangular zone that covers all the existing links.

(d) Expand this rectangular zone to cover the “area of influence” (seebelow) of all the links within it.

Stage 2—Segment Microwave Links into Segments and Points.

(a) For each link in a given map area, a recursive division is conductedto very small segments that are equal in length, each segment defined by2 discrete points.

This division is accomplished by going through the following processiteratively, until the length of each segment is smaller or equal to apredefined distance. In an embodiment, a plot of attenuation along thelength of a link is generated and the predefined distance is determinedby finding the shortest segment link wherein a. difference inattenuation greater than a threshold amount is observed between a startpoint and an end point of the segment.

(i) Divide the link to two equal segments and define a middle point.After this step there are two segments and three equally distributedpoints:

-   -   Beginning point (antenna “a” location),    -   Ending point (antenna “b” or UE location),    -   Middle point.

(ii) Divide the two new segments to two and define a middle point foreach.

After this step we have four segments and five equally distributedpoints.

(iii) Iterate step ii) until all links are processed and the segmentsizes are below the predefined distance.

Stage 3—Determine Coverage for Different Precipitation Intensities.

(a) The basic assumption of this stage is that the precipitationintensity is uniform for the entire area, and the coverage mapidentifies “blind spots” where the precipitation intensity is below aspecific precipitation intensity is undetectable.

This approach allows a “threshold” precipitation intensity value to bedefined—so that it can be understood what the area is in whichprecipitation at this intensity or higher is detectable. The real-timeprecipitation map enabled by the technology differentiates betweendifferent levels of intensity and enables precipitation at all levels ofintensity above the threshold level to be seen.

Area of Influence Calculations

The technology divides the map area into a grid. The grid is a matrix ofdiscrete points, and the distance between two points is defined by thelowest resolution obtainable. This resolution is defined based on thedensity of the network.

For each grid point, the algorithm checks whether or not it is withinthe area of influence of at least one reference point of one link.

-   -   Each of the reference points on every link has a area of        influence, which is defined by the formula: area of        influence=Rain/{[(Q/(a*L)]̂(1/b)}, where:    -   Area of influence is the radius in kilometers around this point        in which precipitation at a given level is “sensed” by that link        (i.e., if there is rain at that intensity or above within that        circle, the link to which this reference belongs will be        attenuated).    -   Q—a given quantization level in the specific link.    -   Rain—The precipitation intensity we want to measure.    -   a and b—pre-set parameters which depend on a link's frequency        and polarization, and on the drop size distribution typical to        the area (e.g., taken from the open literature).    -   L—link length (distance between 2 sites).

If a grid point is within the range (area of influence) of at least onelink, this grid point is considered to be detectable (or “covered”).

Since the area of influence of each reference point depends on theprecipitation intensity (see the formula), the algorithm performs stagetwo for a series of different precipitation intensities, with intervalsbetween intensities set at 0.1 mm/hr. For each precipitation intensity,the system calculates a different set of grid points that are within thearea of influence of one or more discrete microwave link points.

The technology saves the different coverage maps for the differentintensities separately and permits an evaluation of the network'scoverage for a wide range of intensities.

6.6 Link-Based Precipitation Estimates 6.6.1Attenuation-to-Precipitation Transform Creation

Referring to FIG. 27, a portion of a 5G Terrestrial Wireless Network isshown overlaying a static microwave grid (17100) of grid points, eachgrid point represented by a solid circle. Static microwave grid (17100)includes, for example, grid points (17101, 17102, 17103, and 17104). Inan embodiment, geographic area is divided into a plurality of gridpoints comprising static microwave grid (17100) wherein each grid pointis arranged at an intersection of a grid pattern comprising square gridcells measuring approximately 500 m per side.

The overlying radio network includes elements similar to and havingessentially the same functionality as radio network elements shown anddescribed in relation to network (200) which is illustrated in FIG. 2.The overlying radio network includes antenna masts (17010 a and 17010 b)which are connected via point-to-point microwave link (17012) and UEs(17020 a, 17020 b, 17020 c, and 17020 d) each with at least one cellularlink (17028 a-17028 b) with antenna mast (17010 b). For clarity only alimited number of small-cell/base stations and UEs are illustrated. Anoverlying network can include many more UEs and/or small-cell/basestations. By way of example and not limitation, the overlying networkcan include hundreds of antenna masts and UEs, and can further includeadditional network elements such as those shown in FIG. 2.

Referring to FIG. 28, a process (18000) for creatingattenuation-to-precipitation transforms for use by determiningprecipitation intensity estimation coverage and for estimatingprecipitation intensity using point-to-point and cellular microwave linkattenuation data is shown. Process (18000) can be carried out byprocessing program of offline/background processing server (330) topre-calculate transforms for determining precipitation intensity fromattenuation measurements. A detailed discussion of aspects of process(18000) as they apply to generating precipitation estimates forpoint-to-point microwave links such as backhaul link (18012) isdescribed in section 6.5.1.

At step (18125), as illustrated in FIG. 27, a static microwave grid(17100) overlaying an area including eNBs and UEs is created. At step(18150) a grid-to-tile transform is created to map grid points of staticmicrowave grid (17100) to tiles of a system tile layer such as aprecipitation intensity tile layer. The grid-to-tile transform is savedto a transform and filter database (393).

At step (18100), point to point microwave links (e.g. link 17012) andcellular microwave links (17028 a-17028 d) are mapped to staticmicrowave grid (17100). At step (18110) each link is subdivided into aplurality of equal length segments and a plurality of link points, eachdesignated by an “X” symbol (for example 17014 a, 17024 d 1) are addedto each link. To determine the distance between each link point, a plotof attenuation along the length of a link is generated and the distancebetween link points is determined by finding the shortest segment linkwherein a difference in attenuation greater than a threshold amount isobserved between a start point and an end point of the segment. In someembodiments, the mapping takes the form of a lookup table that maps alink identification (for example, a link ID or a pair of endpointlocations) to a link represented on the static microwave grid. Thelookup table forms part of the transform to map links to grid effects bymapping a link to a set of grid points associated with a percentage ofthe link attenuation, and then applying a precipitation conversion tothat percentage of attenuation to determine precipitation for eacheffected grid point

Beginning at step (18120), where a precipitation intensity level isselected, a link-to-grid precipitation transform corresponding to theselected precipitation intensity is created to transform microwave linkattenuation data to microwave grid points of static microwave grid(17100). In an exemplary embodiment, transforms are created for threeselected precipitation intensity levels, for example for 1.0 mm/hr, 2.0mm/hr, and 3.0 mm/hr.

At step (18130) an area of influence is calculated for each link point.The area of influence is determined based on the typical precipitationintensity of the region in the specific season, and represents themaximal distance between a static microwave grid point and a microwavelink point where precipitation or other atmospheric phenomena such asfog or humidity estimated at the link point is assumed to occur at thestatic microwave link point. Areas of influence for point-to-pointmicrowave links are each illustrated as a dot-dash-dot formatted circlesurrounding a microwave link point. For example, microwave link point(17014 a) is associated with a first area of influence (17016 a) andmicrowave link point (17014 b) is associated with a second area ofinfluence (17016 b). Areas of influence for cellular microwave links areeach illustrated as a dashed line formatted circle surrounding acellular microwave link point. For example, cellular microwave linkpoint (17024 d 1) is associated with area of influence (17026 d 1) andcellular microwave link point (17024 d 2) is associated with area ofinfluence (17026 d 2). It is noted that radii of influence illustratedin FIG. 27 are scaled for clarity and are not intended to replicateactual area of influence values.

In general, precipitation intensity within each area of influence can beestimated using microwave link attenuation measurements associated withthe microwave link on which a corresponding link point is located. Forexample, precipitation intensity can be estimated, based on themicrowave link (17012) attenuation measurement data, at each link point(17014 a, 17014 b, . . . 17014 n). The estimated precipitation intensitycan be applied to points of static microwave grid (17100) that arelocated within associated areas of influence (170146 a, 17016 b, . . .17016 n).

In a similar manner, precipitation intensity can be estimated usingmeasured cellular microwave link attenuation data, for exampleattenuation data associated with a cellular microwave link (17028 a) canbe used to determine a precipitation intensity which can be applied topoints of static microwave grid (17100) that fall within areas ofinfluence associated with the microwave link (17028 a). For example,precipitation attenuation associated with cellular microwave link (17028a) can be applied to grid points (17105, 17106) which are within area ofinfluence (17026 a 1), grid point (17107) within area of influence(17026 a 2) and other grid points that fall within additional areas ofinfluence (not labeled) associated with cellular microwave link (17028a).

Cellular microwave links (17028 a-17028 b) are generally each lesssensitive to precipitation attenuation as compared to staticpoint-to-point microwave links (e.g. 17012). This is due to a number offactors, primarily including that cellular microwave link frequenciesbeing less susceptible to attenuation. The cellular microwave link areaof influence (17026 d 1, 17026 c 2, etc.) is generally smaller thanpoint-to-point microwave link area of influence (e.g. 17016 a-17016 n).

An area of influence is determined for each link point. Area ofinfluence is generally larger for larger magnitude precipitationintensities, i.e. higher intensity precipitation has a greater effect onmicrowave link attenuation and is thus easier to detect further awayfrom the microwave link. At step (18135) the set of grid points ofstatic microwave grid (17000) that are each included in one or more areaof influence is determined. At step (18140) the calculated areas ofinfluence and the set of covered grid points are written to alink-to-grid transform which is saved in transform and filter database(393). The link-to-grid transform can later be retrieved from transformand filter database (393) by a precipitation estimate generating programsuch as point-to-point microwave link precipitation program (917) and beused to generate precipitation estimates at the covered grid pointsbased on microwave link attenuation data.

At step (18155), if an additional link-to-grid transform needs to becreated for and additional precipitation intensity level, process(18000) loops back to step (18120) and selects the next precipitationintensity level for which a transform is to be created. Otherwise theprocess ends.

A cellular radio access network including many more handsets thanantenna masts and therefore includes many more cellular microwave linksthan point-to-point microwave links, with cellular microwave links oftenlocated close to each other. The abundance and mutual proximity ofmultiple cellular microwave links can improve precipitation intensityestimations. Each grid point can be included in the area of influence ofmultiple microwave links. For example, grid point (17101) is included ina first cellular microwave link (17028 c) area of influence (17026 c 2)and a second cellular microwave link (17028 b) area of influence (17026b 2). Precipitation intensity estimates for grid point (17101) includeestimates based on microwave link measurements for both microwave links(17028 b) and (17028 c). Therefore, measurements from multiple UEcellular links can be pooled. The pooled measurements can be analyzed tolook for similar perturbations occurring on multiple links, for exampleon multiple links in a particular region at a particular time. A smallperturbation occurring on each of multiple links is indicative that theperturbation represents precipitation or other condition of interest.

It is anticipated that, depending on the density of UEs and associatedcellular microwave links in a given region, a grid point could beincluded in a area of influence of each of a large number of cellularmicrowave links, for example 10, 100, or more links. Precipitationintensity estimates can be aggregated from each of a plurality of links,which enables a robust precipitation intensity estimate despite lowersensitivity, as compared to microwave links, of each of the individualcellular microwave links. Precipitation intensity estimates can beaggregated for a grid point from both cellular and point-to-pointmicrowave links. For example, grid point (17108) is covered by bothpoint-to-point microwave link area of influence (17016 a) and cellularmicrowave link area of influence (17026 a 4).

6.6.2 Generating Link-Based Precipitation Estimates and Coverage MapsUsing Pre-Calculated Transforms

FIG. 29 shows a method (18500) for generating precipitation intensityestimated from microwave link attenuation data using pre-calculatedlink-to-grid and grid-to-tile transforms such as those calculated insection 6.6.1. Process (18500) can be carried out by programs running onthe modeling and prediction server (360) including point-to-pointmicrowave link precipitation program (917) and cellular networkmicrowave precipitation program (914).

At step (18160) microwave link attenuation data including point-to-pointmicrowave link processed attenuation data (620) and/or cellular networkprocessed attenuation data (624) are retrieved, for example frompoint-to-point microwave link attenuation database (321) and cellularnetwork link attenuation database (351).

At step (18165) a grid-to-tile transform corresponding to staticmicrowave grid (17100) and link-to-grid transforms corresponding toprecipitation intensity levels for which precipitation estimates aredesired are retrieved from transform and filter database (393).

At step (18170) a precipitation processing program (917, 914) appliesthe link-to-grid and grid-to-tile transforms to processed attenuationdata to generate precipitation estimates, which are saved as a M₁F₀precipitation intensity layer in a precipitation intensity database. Inan embodiment, precipitation estimates for each of multipleprecipitation intensities are calculated by iteratively applyinggrid-to-link transforms corresponding to each of the precipitationintensities to the attenuation data. For example, a 3.0 mm/hrprecipitation intensity link-to-grid transform can be used by linkprecipitation program (917 or 914) to determine grid points with 3.0mm/hr or greater precipitation intensity by determining, based onmeasurement data, the set of links having attenuation that predicts 3.0mm/hr or greater precipitation intensity. Link precipitation program(917 or 914) assigns a value of 3.0 mm/hr precipitation intensity togrid points of static microwave grid (17100) that are covered by areasof interest at link points along the set of links determined to havelink attenuation that predicts precipitation intensity of 3.0 mm/hr orgreater. Link precipitation program (917 or 914) can use a 2.0 mm/hrprecipitation intensity link-to-grid transform to determine grid pointswith 2.0 mm/hr or greater precipitation intensity and a 1.0 mm/hrprecipitation intensity link-to-grid transform c to determine gridpoints with 1.0 mm/hr or greater precipitation intensity. The resultsfrom the multiple transforms can be blended by selecting the greatestprecipitation intensity estimate at each grid point of static microwavegrid (17100). A grid-to-tile transform can then be applied to theblended grid point precipitation intensities to map the precipitationintensities to a precipitation intensity tile layer of M₁F₀.

Link-to-grid precipitation intensity transforms can also be used togenerate precipitation estimate coverage maps. Each link-to-gridprecipitation transforms includes all grid points of static microwavegrid (17100) that are covered by the transform (i.e. all grid points atwhich a precipitation intensity associate with the transform can bedetermined). A grid-to-tile transform can be applied to all covered gridpoints of a particular precipitation intensity link-to-grid transform togenerate a tile layer that includes the coverage area of the particularprecipitation intensity transform. A coverage area tile layer can begenerated for each precipitation intensity grid-to-link transform. Thecoverage area tile layers can be used, for example by map generationprogram (810) or HyperCast program (890) to generate one or morecoverage maps, each providing a visual representation of the extent ofcoverage of microwave link-based precipitation estimates for ageographic region associated with static microwave grid (17100).

6.6.3 Dynamic Link to Static Link Transform 6.6.3.1 Overview

An exemplary method for determining precipitation estimates based onmeasurements of attenuation of dynamic cellular links using thetechnology described herein includes, prior to receiving attenuationmeasurements, determining multiple possible locations of user equipmentdevice (UEs) that are in communication contact with an eNB, determininglink characteristics of a proforma link between each possible UElocation and the eNB, and pre-calculating transforms for generatingmicrowave grid attenuation and tile layer precipitation estimates usingan attenuation measurement associated with each proforma link. Themethod further includes receiving cellular measurement data including UElocation information and attenuation measurements, determining alocation of each UE for which measurement data is received, associatingeach UE and UE attenuation measurement with a proforma link based on thelocation of the UE, and using the pre-calculated transforms to generateprecipitation estimates based on the UE attenuation measurements.

6.6.3.2 Background

Within the context of a cellular wireless communications network such asa LTE network, dynamic links are cellular microwave links between eNBsand UEs which can come on and off line quickly. UE dynamic link endpointlocations can shift rapidly as UEs move from one location to anotherlocation. The network formed by the microwave links between the UE andeNBs is thus constantly shifting, so the attenuation contribution toprecipitation for each dynamic link is also shifting. Recalculating theeffects of precipitation dynamic link attenuation each time a UE changeslocation and determining precipitation estimates based upon the revisedprecipitation-based attenuation can consume substantial amounts of timeand computational resources. As sampling of dynamic link attenuation issped up (e.g. the interval between samples is decreased), the resultingcomputational load makes the calculations required to recalculate theattenuation contribution from each dynamic link becomes computationallyinfeasible, resulting in hindcasts that complete after the events beingforecast.

6.6.3.3 Proforma Link Grid and Proforma Links

A system according to the technology disclosed herein can reduce thecomputational resources and time to determine precipitation estimatesfrom dynamic link attenuation measurements by pre-calculating transformsfor converting dynamic link attenuation measurement to precipitationestimates within a geographic region and mapping dynamic linkmeasurements, when received, to these pre-calculated transforms.Referring to FIG. 30, offline/background processing server (330) createsa proforma link grid (1040) which overlays the geographic region thatincludes eNB (1300). Proforma link grid (1040) is formed with aplurality of grid cells (e.g. 1041, 1043). A grid point (e.g. 1101,1103) is located at the center of each grid cell. Each grid pointrepresents a proforma UE location, which is an endpoint of a proformaeNB-to-UE communication link. A proforma link is defined herein as alink that would be established between a UE and eNB when the UE islocated at a grid point (1101, 1103, etc.) and is communicating with theeNB. The offline/background processing server (330) can pre-calculatecharacteristics of the possible multiple proforma links in a region as astatic network, then pre-calculate transforms to translate linkattenuation measurements to precipitation estimates, and save thetransforms to a database. The system maps each dynamic link between a UEand eNB for which attenuation measurement data is received to a proformalink and uses the pre-calculated transforms associated with the proformalink to process the attenuation measurement data. Thus, each dynamicUE-to-eNB link is mapped to a pre-determined proforma link and the setof proforma links are processed as if the dynamic links were staticlinks in order to determine the attenuation contribution of each dynamiclink to precipitation rate.

FIG. 30 shows multiple proforma links (1202-1246) extending from eNB(1300) to each of multiple grid points (1102-1140) of proforma link grid(1040). A proforma link extends between eNB (1300) and each grid pointwithin eNB coverage area (1320). eNB coverage area (1320) is based on amaximum distance from eNB (1300) from which a wireless microwavecommunication link can be established between eNB and a UE such as amobile wireless communication device or LTE router. The size and shapeof eNB coverage area (1320) is a function of factors including localpropagation environment, antenna pointing, signal polarization, eNBtransmission signal strength, UE transmission signal strength, and eNBand UE equipment characteristics. A typical eNB coverage area extends3-4 miles radially from eNB (1300). The eNB coverage area (1320) can beincreased or decreased if, for example, eNB (1300) transmission strengthis increased or decreased.

The proforma link grid (1040) overlays a geographic area that includesat least a first eNB (1300) and possibly one or more additional eNBs(not shown). Each grid point, e.g. grid points (1102-1146) correspondsto a specific geographic location and represents a possibleinstantaneous location for a UE communicating with and eNB (1300). Aminimum grid point separation distance is calculated as the distancethat corresponds to one-half of the minimum link attenuation measurementprecision. For example, if the link attenuation data is reported with0.1 dB resolution, then spacing between grid points, e.g. between gridpoints (1101 and 1103) is set to the distance associated with a linklength that produces 0.05 dB or less of attenuation in the current RFenvironment.

The proforma link grid (1040) spacing may alternatively be determinedbased, at least in part, on historical data, current attenuationmeasurements, or predictive models. For example, grid spacing can bebased on information including historical measurements of UE density anddistribution within a geographic region, distance between grid pointlocations that corresponds to a detectable difference in attenuationalong links, i.e. along links (1202-1246), or on a combination ofhistorical or expected UE distribution and estimated link attenuationdifferences. It is noted that proforma link grid (1040) does notnecessarily correspond to static microwave grid (17100) that is used forprocessing (static) point-to-point microwave links depicted in FIG. 27.

If there are plurality of eNBs that form overlapping proforma linkgrids, the proforma link grids may be combined after they arecalculated. Overlapping grid cells may be combined for efficiency inprocessing.

6.6.3.4 Pre-Calculating Cellular Link Transforms

FIG. 31 depicts a process flowchart for an exemplary method (3000) formapping dynamic cellular network links to pre-determined (static)proforma links with which pre-computed filters and transforms areassociated. At step (3010), the offline/background processing server(330) creates proforma link grid (1100) and determines a coverage area(3020), e.g. coverage area (1300 of FIG. 33), for each eNB in aparticular region.

At step (3030), the offline/background processing server (330) creates aproforma link (i.e. 1202-1246) between each grid point (1102-1146) andeNB (1300) and determines link characteristics of each proforma link.Link characteristics for each proforma link include the geospatialcoordinates of the proforma link endpoints (eNB and grid pointlocation), proforma link length, an eNB or UE transmit frequency andtransmit power level, microwave signal polarization, and propagationenvironment characteristics (vegetation, structures, water bodies, etc.)along the length of the proforma link. Proforma link grid (1040), gridpoint locations, and proforma link characteristic are stored by theoffline/background processing server (330) in the transform and filterdatabase (393).

At step (3040) offline/background processing server (330) pre-calculatesa baseline attenuation transform for each proforma link. Each baselineattenuation transform is configured to be used by cellular microwavelink data processing program (614) to separate, from raw attenuationmeasurement data, measured attenuation due to precipitation frombackground attenuation along a particular link or to calculateattenuation due to precipitation. The baseline attenuation transform canbe determined based on measurement data and/or propagation modellingusing the proforma link characteristics. Baseline attenuation transformsare stored by the offline/background processing server (330) in thetransform and filter database (393).

At step (3045), offline/background processing server (330)pre-calculates transforms that can be used by cellular network microwaveprecipitation program (914) to determine precipitation estimates basedon proforma link attenuation measurements. The offline/backgroundprocessing server (330) subdivides each proforma link (1202-1246) intomultiple link segments based on modeled link attenuation, as describedin section 6.6.1. The length of each link segment is a function of thetotal attenuation along the length of a link. Proforma links (1202-1246)can include links of varying in length from tens or hundreds of feet toup to the limit of eNB coverage area (1320), e.g. 3-4 miles. Shorterproforma links can include a limited number of link segments and, if thelink is too short to subdivide, can include a single segment. Theoffline/background processing server (330) determines link-to-gridtransforms for transforming cellular microwave link (1202, etc.)attenuation measurements to a microwave grid points such as grid pointsof microwave grid (17100), and determines grid-to-tile transforms fortransforming attenuation measurements to a cellular network microwavetile layer of a M₁F₀ tile layer stack of a cadence instance M_(i).Link-to-tile transforms and grid-to-tile transforms are stored by theoffline/background processing server (330) in the transform and filterdatabase (393).

Each eNB and UE can change transmit power level from time to time, forexample to fulfill LTE automatic neighbor relation (ANR) requirements.Cellular links can be configured with one or more different transmitfrequencies and polarization schemes. Cellular link attenuation dataused to determine precipitation estimates can therefor include sets oflinks with transmit power, transmit frequencies, and polarization thatcan be heterogeneous among links from a single collection interval andthat can change from one collection interval to another collectioninterval. The transmit power, polarization, and frequency used totransmit data on each proforma link can affect precipitation estimatesand may not be known prior to receiving dynamic link attenuationmeasurements. The offline/background processing server (330) canpre-calculate a plurality of sets of transforms, wherein each transformcorresponds to a different anticipated or historic link transmit powerlevel, transmission frequency, polarization, or combination of powerlevel, frequency, and polarization. The offline/background processingserver (330) can pre-calculate multiple transforms for each proformalink wherein each of the multiple transforms corresponds to acombination of possible link transmit characteristics that can affectprecipitation estimates derived from link attenuation. A particular setof transforms can be selected for use in precipitation intensityestimation calculations based on a reported dynamic link transmit powerlevel, polarization, and link frequency associated with attenuationmeasurements. Alternatively, the offline/background processing server(330) can recalculate transforms when eNB changes transmit power level.

6.6.3.5 Determining Precipitation Estimates Using Pre-CalculatedCellular Link Transforms

FIG. 32 depicts a flowchart for an exemplary method (4000) for mappingcellular dynamic links to proforma links and generating precipitationintensity estimates based on dynamic link attenuation usingpre-calculated proforma link transforms. Referring to FIGS. 11, 12, and33, a microwave collection program (510 a or 510 b) collects cellularnetwork raw attenuation data (524) from a terrestrial wireless networkdata source (340 a or 340 b) corresponding to a LTE network thatincludes eNB (1300) and UEs (1402, 1412, 1425, 1427, 1429, 1442) andstores the raw data to cellular network link attenuation database (351)of system database (320). The raw data comprises a UE identification, aneNB identification, the UE location or time of travel for signals sentbetween the UE and eNB, and signal attenuation information. The raw dataalso includes link characteristics information including signal transmitpower, frequency, polarization. Cellular microwave link data processingprogram (614) can retrieve any missing link characteristics informationand associated it with link measurement information duringpre-processing of link data, as discussed in section 6.4.2. Cellularmicrowave link data processing program (614) retrieves (3050) cellularnetwork raw attenuation data (524) from cellular network linkattenuation database (351) when a set of newly collected raw data isavailable, for example upon receiving a notification from a datacollection program.

At step (3055) cellular microwave link data processing program (614)processes the raw attenuation measurement data to filter out non-usefulmeasurements. Filtering out non-useful measurements can include applyingone or more filters to the data including, for example, a cellularnetwork frequency filter to filter out non-microwave frequency rangemeasurements and a cellular network received signal strength filter tofilter out zero readings and measurements having too little attenuationto be useful for use in precipitation estimates.

At step (3058) cellular microwave link data processing program (614)assigns each UE from which useful measurement data was retrieved to agrid point and associates the measurement data with a proforma linkcorresponding to the grid point. Referring to FIG. 33, for each UE thatis associated with a useful measurement (i.e. a measurement that was notfiltered out), cellular microwave link data processing program (614)determines a location of the UE (e.g. 1402) and then determines theclosest grid point (e.g. 1402) to the UE. Cellular microwave link dataprocessing program (614) assigns the UE to the closest grid point,indicated by dashed arrows, and associates attenuation measurement datacorresponding to the UE with the proforma link (e.g. 1202) thatcorresponds to the grid point. If multiple UEs are assigned to the samegrid point, and attenuation measurements are consistent with each other,duplicate measurement data is discarded. If multiple UEs are assigned tothe same grid point and attenuation measurement are not consistent, oneor more criteria can be used to select attenuation measurement to use,for example by selecting to the largest attenuation value, or data canbe averaged or otherwise combined. Each proforma link with whichmeasurement data from a UE is associated (i.e. links (1202, 1212, 1225,1227, 1229, 1242) is an active link, as indicated by solid arrows inFIG. 31.

The location of each UE can be determined based on a geographic locationof the UE determined by cellular microwave link data processing program(614) from GPS coordinates received with link attenuation measurementdata or based on another UE geolocation method such as, for example, UEsignal triangulation based on signals received by multiple eNBs. If a UEis located substantially equidistant from two or more grid points, thegrid point closest to eNB (1300) is selected. That is, the UE isassigned to the link having the shortest link length which can increasethe resolution of attenuation caused by precipitation as compared tobaseline link attenuation, which generally increases with increased linklength. For example, UE (1442) is located approximately equidistantbetween grid point (1144) and grid point (1142). UE (1442) is assignedto grid point (1142) and proforma link (1242) is activated because link(1242) has a shorter link length than link (1244).

Alternatively, a UE can be assigned to a grid point based on a knowndistance of the UE from an eNB and a particular antenna of the eNB thatreceives a signal transmitted by the UE or that transmits a signal tothe UE. Each eNB, for example eNB (1300) generally includes multipleantennas, for example eight antennas per cell tower, so that eachantenna covers an arc (e.g. arc 1512) of roughly 45 degrees. A signal isreceived from UE (1412) at and the antenna covering arc (1512). The gridpoint (1112) subtended by the receiving angle of the antenna, i.e. byarc (1512) and located closest to the known distance from eNB (1300) ofUE (1412) is selected and UE (1412) is assigned to grid point (1112).

At step (3060) cellular microwave link data processing program (614)loads a pre-calculated proforma link transforms for determiningprecipitation intensity based on the attenuation data. Cellularmicrowave link data processing program (614) determines from themeasurement data one more dynamic link eNBs (e.g. 1300) and loadsproforma link transforms corresponding to each determined eNB. Cellularmicrowave link data processing program (614) loads proforma transformsfor active link. Alternatively, cellular microwave link data processingprogram, (614) loads transforms for all proforma links and setsnon-active links to “off”. Cellular microwave link data processingprogram (614) selects transforms that correspond to the transmit power,frequency, and polarization of the active dynamic links.

At step (3070), cellular microwave link data processing program (614)performs further processing on attenuation measurement data for eachactive link to determine attenuation due to precipitation. Cellularmicrowave link data processing program (614) retrieves, from transformand filter database (393), a precomputed baseline attenuation transformcorresponding to each active link (1202, 1212, etc.) and uses theretrieved transforms to determine a precipitation attenuation value foreach link. Cellular microwave link data processing program (614)replaces UE locations with associated grid point locations in cellularnetwork processed data (624) and saves the processed data, includinglink length based on grid point location, precipitation attenuation, andother link details associated with the link to cellular network linkattenuation database (351). Data fields for inactive links, i.e. linksto which no UE has been assigned (illustrated with dashed lines in FIG.31), are written with zero level values, effectively setting theinactive links to “off”.

At step (3080), modeling and prediction server (360) uses the cellularnetwork processed data (624) and precomputed transforms to determineprecipitation estimates. Cellular network microwave precipitationprogram (914) retrieves cellular network processed data (624) fromCellular network link attenuation database (351) and retrievesprecomputed link-to-grid and grid-to-tile transforms from transform andfilter database (393). Cellular network microwave precipitation program(914) uses the transforms corresponding to active links to determineprecipitation estimates and saves (3090) the precipitation estimates incellular network precipitation database (354) as a cellular microwaveprecipitation tile layer of a cadence instance M_(i). Usingpre-calculated transforms reduces computational resources and timerequired to produce precipitation estimates based on dynamic linkattenuation by eliminating the need to calculate and re-calculate thenetwork and attenuation effect maps in response to changing dynamic linkendpoint locations, frequencies, and transmit power levels.

At step (3100), process (3000) returns to step (3050) to retrieve rawmeasurement data if cellular microwave link data processing program(614) determines that new cellular link measurement data is availablefor processing. Cellular microwave link data processing program (614)can determine that new cellular link measurement data is available inresponse to receiving and alert, for example in response to receiving amessage from the information collection and normalization server (310)indicating that new measurement data is available. If no new cellularlink measurement data is available for processing, the processterminates.

6.7 Precipitation Estimates and Forecasting Process

Referring to FIG. 34, a process (19000) for forecasting precipitation bythe modeling and prediction server (360) for each cadence instance isshown. One or more precipitation intensity tile layers of M_(i)Collection Layer are retrieved (19100) from a storage location such asprecipitation database (327) or radar database (322). Referring to FIGS.3, 5, and 8, in an embodiment retrieved precipitation intensity tilelayers include one or more precipitation tile layers (8010, 8020) of aM_(i) Collection Data Stack. The retrieved precipitation intensity tilelayers can include precipitation intensity expressed as rainfall ratesmeasured in inches/hour. Estimated precipitation intensity can becalculated by the modeling and prediction server (360) using microwavelink attenuation measurements, by the offline/background processingserver (330) from reflectivity data, or can be supplied by radar datasource such as, for example, a weather radar data source (344) or by aNWP data source (341) such as the Rapid Refresh (RAP) numerical weathermodel, maintained by NOAA.

At step (19105), the modeling and prediction server (360) can optionallycreate a blended precipitation intensity tile layer (e.g. blendedweather data) by applying a blending function (8200) to two or moreprecipitation intensity tile layers (8010, 8020) retrieved from M_(i)Collection Data Stack. The blended precipitation intensity tile layercan include precipitation intensity (or other weather data) from two ormore data sources. In an embodiment, a blended precipitation intensitytile layer (8102) can include precipitation intensity calculated usingmicrowave link attenuation measurements (8010) blended withprecipitation intensity retrieved from a weather radar data source (344,8020). In an embodiment, a blended precipitation intensity tile layercan include precipitation intensity retrieved from an additional oralternative data source such as NWP data source (341). Blending ofprecipitation tile layers is performed in the modelling and predictionserver (360) at step (19105) of a forecasting process (19000) in orderto generate M_(i) forecast cycle specific blended precipitation tilelayer. Alternatively, a precomputed blended precipitation intensity tilelayer (8102) can be computed as part of a post collection processingactivity such as a blending function (8200) and the results (e.g.processed blended weather data) associated as part of the ME) forecastcycle to the start of forecasting process (19000). These blending stepsmay be performed by the modelling and prediction server (360) or may beperformed by other servers, for example, the information collection andnormalization server (310) or the offline/background processing server(330). Alternative embodiments include further or alternative blendingfunctions such as, for example, a blending function that propagatesground level precipitation intensity calculated from microwave linkattenuation measurements to higher elevation layers of tropospheric NWPdata. The blended weather data in stored in a data type appropriatedatabase associated with the current cadence instance

One or more wind vector tile layers (8030) are retrieved (19010) fromNWP atmospheric database (329), radar database (322), ground weatherstation database (323), or Other Data database (324) by the modellingand prediction server (360). Wind vector data tile layers includeforecast data from the NOAA Rapid Refresh (RAP) numerical weather model,which is obtained using the weather data collection processes describedherein. Wind vector tile layers from multiple wind vector data sourcescan be blended with a blending function (8200) using techniques similarto those used for precipitation estimate blending (19012). Blending windvectors includes generating a blended wind data tile layer data usingwind data from two or more input wind vector tile layers, each from adifferent wind vector data source. In an embodiment, a wind vector tilelayer can be smoothed (19014). In an embodiment, wind vector tile layersinclude a series of forecast tile layers (8104, 8114, 8124, 8134)bounded by the range M_(i)F_((j-k)) where (j) is a start time of aforecast and (k) is an end time of a forecast. Wind vector tile layersthus include a series of tile layers, each tile layer corresponding to acurrent or forecasted time point and each tile layer including windvectors (8104, 8114, 8124, 8134) assigned to individual tiles. In anembodiment, a time zero wind vector tile layer, i.e. M_(i) CollectionData Stack wind vector tile layer (8030), is retrieved andM_(i)F_((j-k)) wind vector tiles (8104, 8114, 8124, 8134) are determinedby the modeling and prediction server (360).

One or more convective available potential energy (CAPE) tile layers areretrieved (19200) from a data source such a NWP data source. In anembodiment, CAPE tile layers include a series of forecast tile layersbounded by the range M_(i)F_((j-k)) where (j) is a start time of aforecast and (k) is an end time of a forecast. In an embodiment, a timezero CAPE tile layer, i.e. M_(i) Collection Data Stack C tile layer, isretrieved and M_(i)F_((j-k)) CAPE tiles are determined by the modelingand prediction server (360).

Each tile of precipitation intensity tile layer (8010, 8020) or blendedprecipitation intensity tile layer (8102, 8112, 8122, 8132) from M_(i)Collection Data Stack and in each M_(i)F_((j-k)) forecast data stack isclassified (19300) as including a storm condition including one ofclear, mature, rising, or decaying and, if not clear, is furtherclassified as convective storm or stratiform storm. If a tile includes aprecipitation intensity of zero or a precipitation intensity below athreshold value, for example below a precipitation intensity value noisefloor value, the tile is classified as normal. Otherwise, if the tileCAPE value is greater than or equal to 500, the tile is classified asconvective storm. If the CAPE value is less than 500, the tile isclassified as a stratiform storm. Referring to FIGS. 35A and 35B, aconvective storm precipitation intensity rise and decay time profile(20100) and a stratiform storm precipitation intensity rise and decaytime profile (20200) are illustrated. The modeling and prediction server(360) further determines a peak magnitude of a convective storm (20112)and peak magnitude of a stratiform storm (20212), as will be discussedin further detail below. The tile can be classified as rising (20110,20210), mature (20112, 20212), or decaying (20114, 20214) by observing atime series of precipitation intensity values (and/or estimatedprecipitation intensity values). If the current precipitation intensityvalue is greater than a previous precipitation intensity value, the tileis classified as rising, if the precipitation intensity value has notchanged the tile is classified as stable and if the currentprecipitation intensity value is less than a previous precipitationintensity value, the tile is classified as decaying. In an embodiment,classification (19300) can include shifting precipitation intensitiesbetween tiles of the precipitation intensity tile layer M_(i)F_(j)(8112) using wind vector tiles of the wind vector tile layer M_(i)F_(j)(8114) to predict future precipitation intensities for tiles of theprecipitation intensity tile layer, as will be discussed in furtherdetail below. Forecasting process (19000) can be repeated over time. If,at classification step (19300), a tile has previously been classified,the previous classification is used.

6.7.1 Nowcasting Process

Forecasting or Nowcasting includes iterating precipitation intensitycalculations multiple times to generate a forecast precipitation tilelayer at each of multiple forecast time points (M_(i)F_((1-n))). Again,referring to FIG. 34, a desired forecast time period is divided intodiscrete time increments and an iteration of calculation steps(19300-19440, 19450) is repeated once for each iteration step. Forexample, a sixty (60) minute forecast can be split into twelveincrements of five minutes each (e.g. the forecast increment is 5minutes) and the iteration calculation steps are repeated twelve timesto complete the full sixty minute forecast. Additionally, FIG. 8illustrates exemplary information flows (8000) during nowcastforecasting.

Forecasting process (19000) uses the principle of advection. The modelassumes that rain is simply carried by the wind (advection). At step(19400), and during a first forecast iteration, tiles of M_(i)F₀precipitation intensity tile layer (8010, 8020) are shifted using tilesof M_(i)F₀ wind vector tile layer (8030) to generate a first forecastblended precipitation intensity tile layer (8102) which is saved toprecipitation forecast database (325) as M_(i)F₁ forecast instance(8100) in the Forecast Stack. At each subsequent iteration of step(19400), a new forecast M_(i)F_(j) precipitation intensity tile layer isgenerated by shifting tiles of M_(i)F_((j−1)) precipitation intensitylayer using tiles of M_(i)F_((j−1)) wind vector tile layer (to produceforecast instances 8110, 8120, 8130, and so on). Each M_(i)F_((j−1))forecast precipitation intensity tile layer (8112, 8122, 8132, etc.) issaved to precipitation forecast database (325) as the M_(i)F_((j−1))Forecast Stack. An exemplary method for shifting precipitation intensitytiles using wind vector tiles is described below in relation to FIG. 36.

At step (19410), forecast precipitation intensity of each tile of theforecast precipitation intensity tile layer of M_(i)F_(j) Forecast Stackis adjusted to account for incremental rise of decay of precipitationintensity estimated either a convective storm or a stratiform storm riseand decay profile, depending on the classification of the tile.Exemplary decay profiles (precipitation intensity versus time) areillustrated for a convective storm (FIG. 35A) and for a stratified storm(FIG. 35B). As previously discussed, the modeling and prediction server(360) determines a peak intensity value for each storm and thecorresponding decay curve is scaled using the calculated peak intensity.Precipitation intensity at a tile is mapped to the corresponding scaleddecay curve and then adjusted by time shifting, using the iteration timeincrement, along the curve. The M_(i)F_(j) forecast precipitationintensity tile layer, including tiles with wind shifted and decayadjusted precipitation intensity values, is saved (19420) to forecastresults database (325) in the M_(i)F_(j) Forecast Stack.

If the forecasting iterations are complete (19430), for example if all12 iterations of a 60 minute forecast that has been broken into fiveminute increments have been completed, forecasting process (19000) ends(19500).

If additional iterations are required to finish the forecast simulation,the simulation time is incremented (19440) to M_(i)F_((j+1)). TheM_(i)F_(j) precipitation tiles and the M_(i)F_(j) wind vector tiles,which will be used to shift the M_(i)F_(j) precipitation tiles togenerate precipitation forecast tiles (i.e. M_(i)F_((j+1)) forecastprecipitation tiles), during the new simulation time point are loaded(19450), and the iteration steps are repeated, for example by returningto step (19300) reclassifying precipitation tile storm type and decayprofile.

Alternatively (not shown) each iteration can include reusing previousstorm intensity and decay profile classifications, in which caseforecasting process (19000) proceeds to precipitation shift step (19400)following wind vector loading (19450).

Referring to FIG. 31, in an exemplary method for shifting precipitationintensity tiles using wind vector tiles in step (19400) of forecastingprocess (19000) precipitation intensity is shifted into and out of eachtile of a precipitation tile layer (e.g. each tile of precipitation tilelayer of forecast stack M_(i)F_(j)) individually. Precipitationintensity shifting by wind vectors can be calculated for each ofmultiple tiles in parallel and calculations for each tile can beperformed by an individual processor of a plurality of parallelprocessors. Precipitation forecasting can thus be massivelyparallelized. A subject precipitation tile (21110) is isolated from theprecipitation tile layer of forecast stack M_(i)F_(j) and aprecipitation tile palette (21100) is generated. Precipitation palette(21100) includes subject precipitation tile (21110) and the eightprecipitation cells surrounding the subject precipitation tile.

Wind vector palette (21300) includes wind vector tile (21310) of a windvector tile layer of forecast stack M_(i)F_(j) and the eight wind vectortiles surrounding wind vector tile (21310). Wind vector tile (21310)corresponds to subject precipitation tile (21110) and the eight windvector tiles surrounding wind vector tile (21310) correspond to theeight precipitation tiles surrounding the subject precipitationintensity tile (21110).

The modeling and prediction server (360) can execute a shift by windfunction (21600) to shift precipitation intensity out of subjectprecipitation tile (21110) and into one or more surroundingprecipitation tiles of precipitation tile palette (21100) and out of oneor more surrounding precipitation tiles and into subject precipitationintensity tile (21110) from one or more surrounding precipitation tiles.Wind vectors of wind vector tiles comprising wind vector tile palette(21300) are used to shift the precipitation intensities betweenprecipitation intensity tiles. Wind shift function (21600) producesshifted precipitation intensity tile (21510). Precipitation intensitytile (21510) is a precipitation intensity tile of forecast precipitationintensity tile layer of Forecast Stack M_(i)F_((j+1))

Wind vector magnitude of each wind vector tile of palette (21300) isconverted by shift by wind function (21600) to numerical valuedescribing how many tiles the precipitation intensity at a particularprecipitation intensity tile will be shifted. Wind vector directiondetermines in what direction the precipitation intensity and windintensity value will be shifted. For example, a wind vector tile withmagnitude of 2 and direction of due west will shift a firstprecipitation intensity at a first precipitation intensity tile to asecond precipitation intensity tile that is located two tiles west ofthe first tile. A second precipitation intensity at a thirdprecipitation intensity tile located two tiles to the east of the firsttile and also subject to a magnitude 2, due west wind vector will beshifted two tiles to the west as well, such that, following the windshift step (19400), the first precipitation intensity tile will includethe second precipitation intensity.

If multiple precipitation intensities are shifted to a subjectprecipitation intensity tile (21310), the precipitation intensitieslocated at the subject tile following the shift are summed at theprecipitation intensity tile. For example, if a third precipitationintensity and the first precipitation intensity are both shifted to thesubject precipitation intensity tile (21110), the precipitationintensity at the subject precipitation intensity tile will be, afterstep (19400), the sum of the first and third precipitation intensities.

If a wind vector value is an integer less than 1, a portion of theprecipitation intensity will be shifted. For example, a wind vector ofmagnitude 0.1 will shift 10% of the precipitation intensity value by 1grid point and 90% of the precipitation intensity value will not beshifted.

Shift by wind function (21600) can be executed independently for eachsubject tile (21100) of a M₁F₀ precipitation layer. Forecastingcalculation can thus be carried out by a plurality of processors, alloperating in parallel. Calculation of each precipitation intensity tile(21510) can be carried out by one of the plurality of parallel operatingprocessors to reduce forecast processing time.

6.8 Example Uses of the Technology 6.8.1 Hydrology Services

Freshwater flood prediction and notification systems rely on accurateand timely measurements of accumulated precipitation amount and type,forecast precipitation intensities, and accumulation amounts andprecipitation types within a particular river or stream drainage basin,which are combined with other information such as river streamingstrength, geographic, soil, and vegetation characteristics of thedrainage basin and other information in ways known in the art.

Traditional methods of predicting fresh water floods are based uponradar data, and rain gauge measurements, and waterway flow measurements.Rain gauges typically are sparsely distributed and measurement can havea long sampling periodicity. Radar-predicted precipitation intensityestimates are problematic in that they often do not accurately reflectground level precipitation and have poor geospatial resolution,generally no better than 1 km square and often worse. In addition, radarpredicted measurements are often not available for steeply sloped orurban areas due to technology limitations.

The described technology enables improved flood prediction and warningby providing granular and accurate measurements of real time, historic,and forecast precipitation intensity and accumulations in both rural andurban areas, including in regions and topographies where traditionalweather monitoring infrastructure is limited or is unable to providespatially high resolution and accurate precipitation measurements andforecasts.

In a non-limiting example, a user interacts with a user interface (forexample, User interface 1000 of FIG. 15) or has a program that interactswith an system's API (835) in order to identify and retrieve sets ofhigh temporal and spatial resolution collected and forecastprecipitation data such as accumulated and forecast precipitationamounts and type. This information can be input by the user intoexternal flood prediction systems such as CI-FLOW (not shown indrawings).

Alternatively, a flood prediction program may be added to the modelingand prediction server (360) using the extensible forecast mechanismdescribed earlier. The flood prediction program is executedautomatically as part of each cadence instances forecast calculations.The extension flood production program is configured to execute as partof the pre-forecast processing stage, and again at the end of eachforecast cycle, in order to calculate water flow amounts. This programgenerates data calculated based upon the flow modelling program andtakes as inputs the precipitation type, intensity and accumulation, andoutputs stream and river flow forecasts based upon preconfiguredgeographic conditions of a drainage basin, soil characteristics,streaming strength measurements, etc. The results of these calculationsare stored in a system database associated with the flood predictionprogram, and are represented as a forecast tile layer associated withwaterway flows. The modeling and prediction server (360) can be furtherconfigured to monitor the forecast flows within locations of interestand to have the information distribution and alerting server (370) sendnotifications and alerts if preconfigured thresholds are exceeded.

In a non-limiting example, a user defines one or more locations ofinterest as well as the parameters to be collected from the system. Theuser also defines a start time and, optionally, an end time of thedesired data. The information distribution and alerting server (370)uses this input information to determine the cadence instances andcadence instance tile layers that correspond to the selected types ofdata and locations of interest. The desired cadence instances may beidentified algorithmically (e.g. M_((i-h)) through M_(j)) where M_(i) isthe current or most recent cadence instance, M_((i-h)) is a cadenceinstance that corresponds to the start time, and M_(j) is the cadenceinstance that corresponds to the end time selected. The informationdistribution and alerting server (370) then identifies the desired data(e.g. flow rate data) using the cadence instance forecast tile stacks,e.g. M_(i), F₀ to F_(t) where F_(t) is a forecast at a defined end time,and the specific tiles within each tile layer from the locations ofinterest. This information is then retrieved and made available to theuser, either as part of a user interface display or as part of a report.The user may also specify alerts for specified locations of interest asdesired, and the system will generate those alerts when specific valuethresholds are reached.

6.8.2 Water System Management

Water system management operators can use the disclosed technology toobtain data and configure alerts to support management decisions bymunicipal, regional and wide area water management systems. In anon-limiting example, an operator can define one or more locations ofinterest for monitoring. As discussed above in relation to hydrologyservices, the disclosed technology can access one or more cadenceinstances M_(i)F_(j) to determine accumulated, real-time, and forecastprecipitation estimates and display, for the operator, the accumulatedprecipitation for a location of interest for a selected period of time.This information is provided with higher fidelity than traditionalweather prediction systems due to the improved forecasting algorithmsand information sources. Exemplary displays and/or reports can includelocations colored according to an amount of accumulated precipitation, agraph that that shows precipitation accumulation as a function of timeper given location, and alerts, configured by the operator, thatindicate when accumulated precipitation for a location exceeds a definedlevel.

6.8.3 Insurance

Insurance providers can obtain, from the disclosed technology, improvedgranular weather data including historic precipitation data that is bothmore accurate than previously available and that has greater temporaland spatial resolution than other historically or currently availabledata sources. Insurance providers use the historic precipitation data topredict risk to an insured based upon adverse weather events, and adjusttheir underwriting accordingly. These decisions may be made for generallocales, or for specific locations down to and including on a perstructure basis. Historic and estimated weather data includingprecipitation type and estimates can also be used by insurance providersto assess damage claims. For example, an insurance provider can accesshistoric precipitation estimates corresponding to an insured buildingfor which a hail damage claim has been filed and determine, based on thehistoric data, whether the building was likely exposed to a hail eventof sufficient severity to cause the claimed damage.

In a non-limiting example, a user of the system defines a location ofinterest corresponding to a structure, and uses the system to query thecadence instance tile stacks for precipitation type and amount estimates(and other weather parameter data such as forecast wind velocities).This data is available as a set of cadence instances bounded by M₀ andM_(i) where M₀ includes the earliest data collected by the system andM_(i) is the current cadence instance. This data is used to identifylocations where rapidly developing, severe, or extreme weather eventshave occurred in the past, which may be associated with increased futurerisk. The information selected data is retrieved from the database andis either returned and displayed graphically in a display, returned in areport, or may be returned as a data set that can be input intoinsurance company computing systems used for making underwritingdecisions. Alternatively, the system may be configured to generatealerts and notifications based upon the returned data, such asnotifications based upon locations of interest that may have beendamaged by weather, or that are in a location that is expected to beeffected by forecast severe weather.

6.8.4 Agriculture and Finance/Commodities Trading

High fidelity historical, real time, and forecast precipitation data maybe provided by the disclosed technology to farmers and otheragricultural customers with improved resolution and fidelity and may beused to make “in the field” decisions regarding the cultivation andharvesting of crops on the basis of weather information. The improvedfidelity and granularity of the information supports improved predictioncapabilities, for example, on a field by field basis instead of currentsystems that provide county by county resolution and poor forecast toactual event correlation. A farmer (user) uses accumulated and predictedprecipitation estimates to make management and planning decisions, suchas when and how much to irrigate each field, planning subsurface andother drainage systems, planning optimal crop selection based on whenand how much rain historically falls on a particular field, planningharvesting schedules based on expected rain events, pesticideapplication rates and times, and initiating preventative actions toprotect crops from predicted weather events such as hail storms.

In a first non-limiting example, a farmer defines a location of interestas one or more of the farmer's fields for which precipitation data isdesired and a desired time period that data is requested for, and thesystem provides historical and forecast precipitation amounts and types.In an alternative implementation, the disclosed technology can useimaging analysis of map data to determine locations of fields andautomatically create definitions for the locations of interest which arecommunicated to the system using the API (835). The system determinesthe cadence instances and tile layers that correspond to the definedlocations of interest and requested data. The system the retrieves therequested data (such as precipitation estimates) from the appropriatesystem databases and makes that information available to the user (thefarmer). In this way, accurate field level historic and predictedprecipitation data can be provided to users.

Additional users, for example commodity traders, can acquireprecipitation estimates corresponding to selected types of crops, forexample cotton or coffee, including real time aggregated precipitationmeasurements of all fields of the selected crop in a region, country orcontinent to enable better prediction of commodity price and supply. Inaddition, commodity traders can make improved short term commoditytrades based on how predictions about crops were or may be affected byweather events using the system's improved weather data to support theirtrading programs.

6.8.5 Utilities and Electric

The disclosed technology provides utility companies with accurate andprecise weather-related information useful for optimizing powerproduction schedules and for allocating prevention and repair resources.An electric power utility forecasts electric power demand using weatherparameter information including real-time and forecast rain estimates,humidity, and temperature data. Power production schedules can beplanned to accommodate predicted increases or decreases in powerconsumption that may be related to increases or decreases in airconditioning use that may occur in response to temperature magnitudes,humidity levels, rain events, and combinations thereof. An electricpower utility selects an area to be monitored by defining one or morelocations of interest and setting a prediction time frame. For example,if a user selects a six hour forecast for a location of interest, themodeling and prediction server (360) determines the cadence instance andtile layers that correspond to the selected weather parameters, locationof interest, and timeframes and retrieves weather parameter datacorresponding to the forecast tiles stacks from one or more systemdatabases.

Utility companies can use spatially and temporally accurate accumulatedand predicted data provided by the disclosed technology to recognize andpredict snow, sleet, and icing conditions that have the potential todamage power lines.

6.8.6 Outdoor Venues

Real time and forecast data including precipitation and precipitationtype provided by the disclosed technology can be used by operators ofoutdoor venues, and customers of the venues, to aid in decision making.The disclosed technology can provide highly accurate short term, forexample 120 minute forward looking, precipitation forecasting.

In a non-limiting example, users configure event venues as locations ofinterest to receive precipitation forecast data and set up alertsincluding, for example, forecast start and end time of a precipitationevent that could affect a planned event. Once the user has set up theconfiguration, the information distribution and alerting server (370)can determine the cadence instance and tiles that correspond to selectedevent locations for the selected weather parameters. The informationdistribution and alerting server (370) can retrieve requested weatherparameter information such as, for example, forecast precipitationintensity, forecast wind, forecast temperature, and other weatherparameter forecast data from corresponding to cadence instance tilestacks M_(i)F₀ through M_(i)F_(k) where M_(i)F_(k) is the cadenceinstance tile stack corresponding to the most distant forecast timepoint. Customers can use weather information to make go/no go decisionsfor events, for taking preventative measures such as covering a playingfield if heavy rain is predicted and for shifting start times and resumetimes of events based on predicted weather conditions.

6.8.7 Smart Cities

The disclosed technology can provide data useful for decision making bysmart city customers including city, county, and other municipalitymanagers and decision makers. Data provided to smart city customers caninclude historic, real-time, and forecast weather data includingprecipitation intensity and type, precipitation accumulation, real timeand predicted fog data, and visibility data. Data can include weatherrelated alerts and warnings.

The disclosed technology can provide snowfall accumulation maps that canbe used by customers to optimize snow removal efforts. The disclosedtechnology can display a map of a city or selected region with colorcoding of snow accumulation on streets and parking lots that can be usedby customers to plan snow plow routes and schedules. Street and parkinglot geography can be determined automatically by the disclosedtechnology using image recognition techniques or by access data sourcessuch as street displays on Google maps. Snowfall accumulation andpredicted accumulation can be provided at locations selected by a smartcity customer, for example accumulation on a parking lot can berequested by the customer defining the parking lot as a location ofinterest. Accumulation at important locations such as mainintersections, hospital and emergency service entrance or accesslocations, and accumulations at locations along roadways can berequested by a customer marking locations of interest at selectedlocations. The information distribution and alerting server (370) candetermine tiles that correspond to roads, parking lots, and otherlocations for which snowfall information is desired. The informationdistribution and alerting server (370) can retrieve snow and otherprecipitation accumulation historic data from corresponding to cadenceinstance tile stacks M_(i), i=x to y where M_(x) is a cadence instancecorresponding to an earliest desired historical time point and M_(y) isthe cadence instance corresponding to the current time. The informationdistribution and alerting server (370) can retrieve forecast data fromcadence instance tile stacks M_(i)F₀ through M_(i)F_(k) where M_(i)F_(k)is the cadence instance tile stack corresponding to the most distantforecast time point. The disclosed technology can provide predictionsincluding an estimate of a time at which snow accumulation will reach athreshold at a selected location and warnings when a threshold isreached or surpassed.

The disclosed technology can provide smart city customers accurateweather inputs for other weather-related decision making processes suchas for determining when to close roads or bridges and for postingwarning signs in case of current or predicted floods, storms, and otherintense weather events. Smart city customers can use real-time andpredicted data for street light optimization. For example, customers canoptimize street light operation during daytime based on current andpredicted visibility which can be determined using measurements of rainintensity, fog, and pollutants. Smart city customers can also optimizewaste water treatment facility operations and drainage operations basedon accumulated, real time, and forecast precipitation data.

6.8.8 Aviation

The disclosed technology can provide accumulated, real time, andforecast weather data that is useful for aviation customers includingairports, pilots, and passenger and freight air carriers. The disclosedtechnology can estimate RVR data and other aviation related information.Aviation customers can receive additional weather parameter informationincluding historic, predicted, and real time precipitation types, rates,and accumulations.

Aviation customers can configure the information distribution andalerting server (370) with alerts to generate warnings and notificationsbased on accumulated, real time, and predicted weather data includingprecipitation estimates. Notifications can warn of current or predictedicing conditions on a runway, which can be determined based onprecipitation and temperature data. Notifications can include a reportof current precipitation type and precipitation accumulation estimates,such as estimates of snow, rain, or hail accumulation on a runway, aswell as a predicted time for surpassing a threshold accumulation amountand can include a warning when accumulation reaches a threshold amount.Alerts can include notifications to warn aviation customers ofpotentially damaging weather events such as hail or lightning based onforecast data.

6.8.9 Transportation

Ground or water transportation customers can receive per-route weathermonitoring and forecasting data to help operational planners, drivers,and other transport operators select an optimal route and modify aselected route, while navigating the route, in response to changing orforecast conditions. The improved weather forecasting of the describedtechnology permits more accurate estimation of travel delays due toweather. The disclosed technology can generate notifications based onreal-time and forecast data including warnings regarding potential icingconditions, low visibility due to fog or snow squalls, snow accumulationon specific roads or in specific locations or areas.

6.9 Conclusion

It will also be recognized by those skilled in the art that, while thetechnology has been described above in terms of preferred embodiments,it is not limited thereto. Various features and aspects of the abovedescribed technology may be used individually or jointly. Further,although the technology has been described in the context of itsimplementation in a particular environment, and for particularapplications, those skilled in the art will recognize that itsusefulness is not limited thereto and that the present technology can bebeneficially utilized in any number of environments and implementationswhere it is desirable to improve the accuracy and timeliness ofprecipitation forecasts. Accordingly, the claims set forth below shouldbe construed in view of the full breadth and spirit of the technology asdisclosed herein.

What is claimed is:
 1. A computer-operated method for producingaccurate, temporally-current weather forecasts comprising: (a) receivinga request for geolocated weather information, the request having ageolocation parameter associated therewith; (b) identifying at least onetemporal forecast time series from a time series of temporal forecastsassociated with at least one cadence instance; (c) in response to thegeolocation parameter, selecting weather forecast information from theidentified at least one temporal forecast time series; and (d) based onthe selecting weather forecast information, electronically providingtemporally-updated geolocated weather forecast information in responseto the request.
 2. The method of claim 1 wherein the request includes atime or time range and the identifying and selecting is performed basedat least in part on the time or time range.
 3. The method of claim 1wherein the weather forecast information is associated with a pluralityof cadence instances.
 4. The method of claim 1 further includingupdating the identified at least one temporal forecast time series withreceived weather information.
 5. The method of claim 1 wherein theselecting includes selecting weather forecast information associatedwith a past cadence instance.
 6. The method of claim 1 wherein theselecting includes selecting weather forecast information associatedwith a current cadence instance.
 7. The method of claim 1 wherein theselecting includes selecting weather forecast information associatedwith a cadence instance not more than X minutes old.
 8. The method ofclaim 1 wherein the selecting includes selecting weather forecastinformation associated with at least first and second cadence instances,the second cadence instance being older than the first cadence instance.9. The method of claim 1 wherein the selecting includes selectingweather forecast information from a future forecast associated with acurrent cadence instance.
 10. The method of claim 1 wherein theselecting includes selecting weather forecast information from a futureforecast associated with a past cadence instance.
 11. Acomputer-operated system for producing accurate, temporally-currentweather forecasts, the system comprising: a storage storinginstructions; and a processor connected to the storage, the processorexecuting the instructions; wherein the instructions compriseinstructions that control the processor to: (a) receive a request forgeolocated weather information, the request having a geolocationparameter associated therewith; (b) identify at least one temporalforecast time series from a time series of temporal forecasts associatedwith at least one cadence instance; (c) in response to the geolocationparameter, select weather forecast information from the identified atleast one temporal forecast time series; and (d) based on the selectingweather forecast information, electronically provide temporally-updatedgeolocated weather forecast information in response to the request. 12.The system of claim 11 wherein the request includes a time or time rangeand the processor is configured to identify and select based at least inpart on the time or time range.
 13. The system of claim 11 wherein theweather forecast information is associated with a plurality of cadenceinstances.
 14. The system of claim 11 wherein the instructions configurethe processor to update the identified at least one temporal forecasttime series with received weather information.
 15. The system of claim11 wherein the instructions configure the processor to select weatherforecast information associated with a past cadence instance.
 16. Thesystem of claim 11 wherein the instructions configure the processor toselect weather forecast information associated with a current cadenceinstance.
 17. The system of claim 11 wherein the instructions configurethe processor to select weather forecast information associated with acadence instance not more than X minutes old.
 18. The system of claim 11wherein the instructions configure the processor to select weatherforecast information associated with at least first and second cadenceinstances, the second cadence instance being older than the firstcadence instance.
 19. The system of claim 11 wherein the instructionsconfigure the processor to select weather forecast information from afuture forecast associated with a current cadence instance.
 20. Thesystem of claim 11 wherein the instructions configure the processor toselect weather forecast information from a future forecast associatedwith a past cadence instance.
 21. A non-transitory computer-readablestorage storing instructions that, when executed by a processor, controlthe processor to: (a) receive a request for geolocated weatherinformation, the request having a geolocation parameter associatedtherewith; (b) identify at least one temporal forecast time series froma time series of temporal forecasts associated with at least one cadenceinstance; (c) in response to the geolocation parameter, select weatherforecast information from the identified at least one temporal forecasttime series; and (d) based on the selecting weather forecastinformation, electronically provide temporally-updated geolocatedweather forecast information in response to the request.
 22. Thecomputer-readable storage of claim 21 wherein the request includes atime or time range and the stored instructions configure the processorto identify and select based at least in part on the time or time range.23. The computer-readable storage of claim 21 wherein the weatherforecast information is associated with a plurality of cadenceinstances.
 24. The computer-readable storage of claim 21 wherein theinstructions configure the processor to update the identified at leastone temporal forecast time series with received weather information. 25.The computer-readable storage of claim 21 wherein the instructionsconfigure the processor to select weather forecast informationassociated with a past cadence instance.
 26. The computer-readablestorage of claim 21 wherein the instructions configure the processor toselect weather forecast information associated with a current cadenceinstance.
 27. The computer-readable storage of claim 21 wherein theinstructions configure the processor to select weather forecastinformation associated with a cadence instance not more than X minutesold.
 28. The computer-readable storage of claim 21 wherein theinstructions configure the processor to select weather forecastinformation associated with at least first and second cadence instances,the second cadence instance being older than the first cadence instance.29. The computer-readable storage of claim 21 wherein the instructionsconfigure the processor to select weather forecast information from afuture forecast associated with a current cadence instance.
 30. Thecomputer-readable storage of claim 21 wherein the instructions configurethe processor to select weather forecast information from a futureforecast associated with a past cadence instance.